ChangeLoggingKeyValueBytesStore

ChangeLoggingKeyValueBytesStore is a concrete KeyValueStore of Bytes keys and byte[] values (i.e. KeyValueStore<Bytes, byte[]>) that uses a StoreChangeLogger to log records.

ChangeLoggingKeyValueBytesStore is also a concrete WrappedStateStore of KeyValueStore of Bytes keys and byte[] values (i.e. WrappedStateStore<KeyValueStore<Bytes, byte[]>, byte[], byte[]>).

ChangeLoggingKeyValueBytesStore is created exclusively when KeyValueStoreBuilder is requested to build a KeyValueStore with logging enabled.

ChangeLoggingKeyValueBytesStore takes a single KeyValueStore (inner state store) to be created.

Initializing State Store — init Method

void init(
  ProcessorContext context,
  StateStore root)
Note
init is part of the StateStore Contract to initialize the state store.

init requests the inner KeyValueStore to initialize (with the given ProcessorContext and the root StateStore).

init then creates a new StateSerdes and StoreChangeLogger (for the name of the changelog topic per application ID and store name) that is saved as the changeLogger internal registry.

In the end, init registers an eviction listener if the inner state store is a MemoryLRUCache for setWhenEldestRemoved to log removed record (with the key evicted to be with null value to indicate removal).

put Method

void put(
  Bytes key,
  byte[] value)
Note
put is part of the StateStore Contract to…​FIXME.

put…​FIXME

putIfAbsent Method

byte[] putIfAbsent(
  Bytes key,
  byte[] value)
Note
putIfAbsent is part of the StateStore Contract to…​FIXME.

putIfAbsent…​FIXME

putAll Method

void putAll(List<KeyValue<Bytes, byte[]>> entries)
Note
putAll is part of the StateStore Contract to…​FIXME.

putAll…​FIXME

delete Method

byte[] delete(Bytes key)
Note
delete is part of the StateStore Contract to…​FIXME.

delete…​FIXME

Logging Records — log Method

void log(
  Bytes key,
  byte[] value)

log simply requests the StoreChangeLogger to logChange with the key and the value.

Note
log is used when ChangeLoggingKeyValueBytesStore is requested to initialize, put, putIfAbsent, putAll, and delete.

results matching ""

    No results matching ""