GitHub user xinyuiscool opened a pull request:
https://github.com/apache/samza/pull/492
SAMZA-1691: Support get iterable from KeyValueStore
Right now for KeyValueStore we have a range query to return an iterator.
For usage in BEAM, we need a iterable which will 1) create the snapshot when
called, and 2) create an iterator when needed. Add the iterate() function in
KeyValueStore to support it. It's implemented as follows:
1) for rocksDb, it will create the iterator when it's called, which will
has a snapshot of the elements. Then every time when the iterator is needed, we
will seek the iterator from beginning;
2) for inMemoryDb, it will create the snapshot submap when iterate() is
called. The submap is an iterable and it can return a new iterator when needed.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/xinyuiscool/samza SAMZA-1691
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/samza/pull/492.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #492
----
commit e3dd655ad09bbd6b2dc696e73ed0c2cb6bfc2e7f
Author: xinyuiscool <xiliu@...>
Date: 2018-04-27T19:24:07Z
SAMZA-1691: Support get iterable from KeyValueStore
----
---