-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33146/
-----------------------------------------------------------
Review request for samza.
Bugs: SAMZA-647
https://issues.apache.org/jira/browse/SAMZA-647
Repository: samza
Description
-------
Adding a new KV store contract, BatchingKeyValueStore, which adds the following
methods:
* Map<K, V> getAll(List<K>), and
* void deleteAll(List<K>)
Since Samza does not require Java 8, the above cannot be implemented as default
interface method in KeyValueStore, and a new contract (that extends
KeyValueStore) is necessary to maintain backward compatibility.
Existing KV stores extend the new contract now to be consistent and to enable
API callers to use KeyValueStore or BatchingKeyValueStore interchangeably.
RocksDbKeyValueStore overrides the getAll behavior to call multiGet(List<K>);
Preliminary tests showed that multiget is at least 1.25x faster per key than
get (see
https://reviews.facebook.net/rROCKSDB4985a9f73b9fb8a0323fbbb06222ae1f758a6b1d).
Java source compatibility: 1.6
Diffs
-----
samza-kv-inmemory/src/main/scala/org/apache/samza/storage/kv/inmemory/InMemoryKeyValueStore.scala
217333c84c696c0cc1bc3eeabf1c4066a6e89795
samza-kv-rocksdb/src/main/scala/org/apache/samza/storage/kv/RocksDbKeyValueStore.scala
66c2a0dc2e38e21f951727a30f0987776ac52fe2
samza-kv/src/main/java/org/apache/samza/storage/kv/BatchingKeyValueStore.java
PRE-CREATION
samza-kv/src/main/scala/org/apache/samza/storage/kv/CachedStore.scala
61bb3f6acb080b653f8b11176538549738255acc
samza-kv/src/main/scala/org/apache/samza/storage/kv/KeyValueStoreMetrics.scala
79092b91c9498e55f1c4e28661b7280c6c19cef7
samza-kv/src/main/scala/org/apache/samza/storage/kv/NullSafeKeyValueStore.scala
4f48cf490d6c1012591a602c0d29dcc71473090f
samza-kv/src/main/scala/org/apache/samza/storage/kv/SerializedKeyValueStore.scala
531e8bef2069a77fa9ceab36fa738bbaa162fe8c
samza-test/src/test/scala/org/apache/samza/storage/kv/TestKeyValueStores.scala
50dfc10bb053d74dba70fdbce0ef87609ba447ea
Diff: https://reviews.apache.org/r/33146/diff/
Testing
-------
Unit-tested.
Thanks,
Mohamed Mahmoud (El-Geish)