[
https://issues.apache.org/jira/browse/SAMZA-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mohamed Mahmoud (El-Geish) updated SAMZA-647:
---------------------------------------------
Attachment: getAllPerf.png
BatchingKeyValueStore.diff
The crash was caused by the following statement in
TestKeyValueStores::testDeleteAllWhenPartialMatch:
assertEquals(1, store.all.size)
As you can see, I failed to close the iterator — which shouldn’t be a big deal
since its finalize() calls close(), but apparently there’s a bug in
RockObject::dispose(), which I’m hunting down, that causes a SIGSEGV when the
Finalizer tries to finalize it.
I also added another perf test, for Write-Once-Read-Many scenarios, which
returned the following results (also in favor of getAll).
> A new KeyValueStore interface should support getAll(List<K>)
> ------------------------------------------------------------
>
> Key: SAMZA-647
> URL: https://issues.apache.org/jira/browse/SAMZA-647
> Project: Samza
> Issue Type: Improvement
> Components: kv
> Affects Versions: 0.9.0
> Reporter: Mohamed Mahmoud (El-Geish)
> Assignee: Mohamed Mahmoud (El-Geish)
> Labels: features
> Fix For: 0.10.0
>
> Attachments: BatchingKeyValueStore.diff, build-1.err_pid49877.log,
> build.log, getAllPerf.png
>
>
> For stores that support multiGet, like RocksDB, this can improve performance
> when batch querying; this could be simply implemented as a pass-through call
> to the underlying storage engine.
> For stores that don't support multiGet, we can simply return an iterator for
> the corresponding values by looping over keys and calling get() for each one.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)