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
ConstructorsConstructorDescriptionBaseBinaryStateIterator(Iterator<Map.Entry<byte[], byte[]>> pendingPrepareIterator, Iterator<Map.Entry<byte[], byte[]>> pendingCommitIterator) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract KdecodeKey(byte[] key) Decode key to convert byte array to state key type.protected abstract VdecodeValue(byte[] value) Decode value to convert byte array to state value type.protected abstract booleanCheck whether end of data is reached from storage state KVs.protected abstract booleanisTombstoneValue(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, removeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
loadChunkFromStateStoragein 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:
isEndOfDataFromStoragein 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:
decodeKeyin 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:
decodeValuein 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:
isTombstoneValuein classBaseStateIterator<K,V, byte[], byte[]> - Parameters:
value- the value to check- Returns:
- true if the value is tombstone, false otherwise
-