Package org.apache.storm.state
Class BaseBinaryStateIterator<K,V>
java.lang.Object
org.apache.storm.state.BaseStateIterator<K,V,byte[],byte[]>
org.apache.storm.state.BaseBinaryStateIterator<K,V>
- Direct Known Subclasses:
RedisKeyValueStateIterator
Base implementation of iterator over
KeyValueState
which encoded types of key and value are both binary type.-
Constructor Summary
ConstructorDescriptionBaseBinaryStateIterator
(Iterator<Map.Entry<byte[], byte[]>> pendingPrepareIterator, Iterator<Map.Entry<byte[], byte[]>> pendingCommitIterator) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract K
decodeKey
(byte[] key) Decode key to convert byte array to state key type.protected abstract V
decodeValue
(byte[] value) Decode value to convert byte array to state value type.protected abstract boolean
Check whether end of data is reached from storage state KVs.protected abstract boolean
isTombstoneValue
(byte[] value) Check whether the value is tombstone (deletion mark) value.Load some part of state KVs from storage and returns iterator of cached data from storage.Methods inherited from class org.apache.storm.state.BaseStateIterator
hasNext, next, remove
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
BaseBinaryStateIterator
public BaseBinaryStateIterator(Iterator<Map.Entry<byte[], byte[]>> pendingPrepareIterator, Iterator<Map.Entry<byte[], byte[]>> pendingCommitIterator) Constructor.- Parameters:
pendingPrepareIterator
- The iterator of pendingPreparependingCommitIterator
- The iterator of pendingCommit
-
-
Method Details
-
loadChunkFromStateStorage
Load some part of state KVs from storage and returns iterator of cached data from storage.- Specified by:
loadChunkFromStateStorage
in classBaseStateIterator<K,
V, byte[], byte[]> - Returns:
- Iterator of loaded state KVs
-
isEndOfDataFromStorage
protected abstract boolean isEndOfDataFromStorage()Check whether end of data is reached from storage state KVs.- Specified by:
isEndOfDataFromStorage
in classBaseStateIterator<K,
V, byte[], byte[]> - Returns:
- whether end of data is reached from storage state KVs
-
decodeKey
Decode key to convert byte array to state key type.- Specified by:
decodeKey
in classBaseStateIterator<K,
V, byte[], byte[]> - Parameters:
key
- byte array encoded key- Returns:
- Decoded value of key
-
decodeValue
Decode value to convert byte array to state value type.- Specified by:
decodeValue
in classBaseStateIterator<K,
V, byte[], byte[]> - Parameters:
value
- byte array encoded value- Returns:
- Decoded value of value
-
isTombstoneValue
protected abstract boolean isTombstoneValue(byte[] value) Check whether the value is tombstone (deletion mark) value.- Specified by:
isTombstoneValue
in classBaseStateIterator<K,
V, byte[], byte[]> - Parameters:
value
- the value to check- Returns:
- true if the value is tombstone, false otherwise
-