samza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mohamed Mahmoud (El-Geish)" <elge...@gmail.com>
Subject Review Request 33146: Adding a new KV store contract: BatchingKeyValueStore
Date Mon, 13 Apr 2015 21:24:36 GMT

-----------------------------------------------------------
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)


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message