public class HBaseKeyValueState<K,V> extends Object implements KeyValueState<K,V>
A Hbase based implementation that persists the state in HBase.
Modifier and Type | Field and Description |
---|---|
static NavigableMap<byte[],byte[]> |
EMPTY_PENDING_COMMIT_MAP |
static int |
ITERATOR_CHUNK_SIZE |
static byte[] |
STATE_QUALIFIER |
Constructor and Description |
---|
HBaseKeyValueState(HBaseClient hbaseClient,
String columnFamily,
String namespace)
Constructor.
|
HBaseKeyValueState(HBaseClient hbaseClient,
String columnFamily,
String namespace,
Serializer<K> keySerializer,
Serializer<V> valueSerializer)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
commit()
Persist the current state.
|
void |
commit(long txid)
Commit a previously prepared transaction.
|
V |
delete(K key)
Deletes the value mapped to the key, if there is any.
|
V |
get(K key)
Returns the value mapped to the key.
|
V |
get(K key,
V defaultValue)
Returns the value mapped to the key or defaultValue if no mapping is found.
|
Iterator<Map.Entry<K,V>> |
iterator() |
void |
prepareCommit(long txid)
Invoked by the framework to prepare a transaction for commit.
|
void |
put(K key,
V value)
Maps the value with the key.
|
void |
rollback()
Rollback a prepared transaction to the previously committed state.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public static final int ITERATOR_CHUNK_SIZE
public static final NavigableMap<byte[],byte[]> EMPTY_PENDING_COMMIT_MAP
public static byte[] STATE_QUALIFIER
public HBaseKeyValueState(HBaseClient hbaseClient, String columnFamily, String namespace)
Constructor.
hbaseClient
- HBaseClient instancecolumnFamily
- column family to store Statenamespace
- namespacepublic HBaseKeyValueState(HBaseClient hbaseClient, String columnFamily, String namespace, Serializer<K> keySerializer, Serializer<V> valueSerializer)
Constructor.
hbaseClient
- HBaseClient instancecolumnFamily
- column family to store Statenamespace
- namespacekeySerializer
- key serializervalueSerializer
- value serializerpublic void put(K key, V value)
KeyValueState
Maps the value with the key.
put
in interface KeyValueState<K,V>
key
- the keyvalue
- the valuepublic V get(K key)
KeyValueState
Returns the value mapped to the key.
get
in interface KeyValueState<K,V>
key
- the keypublic V get(K key, V defaultValue)
KeyValueState
Returns the value mapped to the key or defaultValue if no mapping is found.
get
in interface KeyValueState<K,V>
key
- the keydefaultValue
- the value to return if no mapping is foundpublic V delete(K key)
KeyValueState
Deletes the value mapped to the key, if there is any.
delete
in interface KeyValueState<K,V>
key
- the keypublic void prepareCommit(long txid)
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.
prepareCommit
in interface State
txid
- the transaction idpublic void commit(long txid)
State
Commit a previously prepared transaction. It should be possible to retrieve a committed state later.
public void commit()
State
Persist the current state. This is used when the component manages the state.
Copyright © 2020 The Apache Software Foundation. All rights reserved.