...
The change of the StateStoreContext interface does not require any changes to any of the implementations of the interface, it merely exposes a method (recordMetadata) that is already implemented in AbstractProcessorContext. Therefore, we do not expect any compatibility issues. Moreover, recordMetadata returns an object of type RecordMetadata which is read-only, thus, protecting Kafka-internals from being tampered by applications.
Rejected Alternatives
Add a new Put
...
method to the KeyValueStore interface
The idea would be to couple data and metadata together in a single Put call.
...
Code Block |
---|
public interface KeyValueStore<K, V> extends StateStore, ReadOnlyKeyValueStore<K, V> { ... void UpdatePositionupdatePosition(String topic, int partition, int offset); ... } |
...