Class RedisKeyValueState<K,V>

java.lang.Object
org.apache.storm.redis.state.RedisKeyValueState<K,V>
All Implemented Interfaces:
Iterable<Map.Entry<K,V>>, KeyValueState<K,V>, State

public class RedisKeyValueState<K,V> extends Object implements KeyValueState<K,V>
A redis based implementation that persists the state in Redis.
  • Field Details

    • ITERATOR_CHUNK_SIZE

      public static final int ITERATOR_CHUNK_SIZE
      See Also:
    • EMPTY_PENDING_COMMIT_MAP

      public static final NavigableMap<byte[],byte[]> EMPTY_PENDING_COMMIT_MAP
  • Constructor Details

  • Method Details

    • put

      public void put(K key, V value)
      Description copied from interface: KeyValueState
      Maps the value with the key.
      Specified by:
      put in interface KeyValueState<K,V>
      Parameters:
      key - the key
      value - the value
    • get

      public V get(K key)
      Description copied from interface: KeyValueState
      Returns the value mapped to the key.
      Specified by:
      get in interface KeyValueState<K,V>
      Parameters:
      key - the key
      Returns:
      the value or null if no mapping is found
    • get

      public V get(K key, V defaultValue)
      Description copied from interface: KeyValueState
      Returns the value mapped to the key or defaultValue if no mapping is found.
      Specified by:
      get in interface KeyValueState<K,V>
      Parameters:
      key - the key
      defaultValue - the value to return if no mapping is found
      Returns:
      the value or defaultValue if no mapping is found
    • delete

      public V delete(K key)
      Description copied from interface: KeyValueState
      Deletes the value mapped to the key, if there is any.
      Specified by:
      delete in interface KeyValueState<K,V>
      Parameters:
      key - the key
    • iterator

      public Iterator<Map.Entry<K,V>> iterator()
      Specified by:
      iterator in interface Iterable<K>
    • prepareCommit

      public void prepareCommit(long txid)
      Description copied from interface: State
      Invoked by the framework to prepare a transaction for commit. It should be possible to commit the prepared state later.

      The same txid can be prepared again, but the next txid cannot be prepared when previous one is not yet committed.

      Specified by:
      prepareCommit in interface State
      Parameters:
      txid - the transaction id
    • commit

      public void commit(long txid)
      Description copied from interface: State
      Commit a previously prepared transaction. It should be possible to retrieve a committed state later.
      Specified by:
      commit in interface State
      Parameters:
      txid - the transaction id
    • commit

      public void commit()
      Description copied from interface: State
      Persist the current state. This is used when the component manages the state.
      Specified by:
      commit in interface State
    • rollback

      public void rollback()
      Description copied from interface: State
      Rollback a prepared transaction to the previously committed state.
      Specified by:
      rollback in interface State