Hey Tommy,
You are right in that RocksDbKeyValueStore.flush() doesn’t
do anything, flush however, flushes the cache as well. This is not expected
behavior, let me see if I can reproduce this.
Thanks,
Naveen
On Jan 8, 2015, at 6:12 PM, Tommy Becker <[email protected]> wrote:
> We are writing some tasks that make use of the RocksDb kv store, and a couple
> of us here have seen the same strange behavior. Essentially, get() seems to
> not return values that were previously put(), until flush() is called. But
> even if flush isn't called, the put values will be returned by store.all().
> A colleague took a look and saw that RocksDbKeyValueStore.flush() doesn't do
> anything of consequence, but we haven't yet looked deeper. To summarize, the
> behavior seems to be:
>
> store.put("foo", "bar);
> store.get("foo") returns null ??
> store.all() returns an iterator containing ("foo", "bar")
> store.flush();
> store.get("foo") returns "bar" as expected
>
> Is this behavior intended?
>
> ________________________________
>
> This email and any attachments may contain confidential and privileged
> material for the sole use of the intended recipient. Any review, copying, or
> distribution of this email (or any attachments) by others is prohibited. If
> you are not the intended recipient, please contact the sender immediately and
> permanently delete this email and any attachments. No employee or agent of
> TiVo Inc. is authorized to conclude any binding agreement on behalf of TiVo
> Inc. by email. Binding agreements with TiVo Inc. may only be made by a signed
> written agreement.