GitHub user prateekm opened a pull request:
https://github.com/apache/samza/pull/333
SAMZA-1466: Flaky test: TestRocksDbKeyValueStore suite
Test failures happen intermittently because:
1. RocksDB throws an exception if open is called on a store that's already
open.
2. A new unit test was added in PR #327 that didn't close the store.
3. Other tests in this class use the same store directory
(System.getProperty("java.io.tmpdir")) and run concurrently. Any test that runs
after the one in 2 above fails.
Even when we log the RocksDBException (fixed in pr #332), the actual
exception message is malformed due to a bug in RocksDB:
https://github.com/facebook/rocksdb/issues/1688. This is fixed in the latest
RocksDB version (verified with 5.8.0), so the messages should be more
meaningful after an upgrade. Fixed stack trace will say something like:
Caused by: org.rocksdb.RocksDBException: While lock file:
/var/folders/1b/4nqqvf4s27sby0frjr0q5t_h0004hp/T/LOCK: No locks available
at org.rocksdb.RocksDB.open(Native Method)
at org.rocksdb.RocksDB.open(RocksDB.java:231)
at
org.apache.samza.storage.kv.RocksDbKeyValueStore$.openDB(RocksDbKeyValueStore.scala:70)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/prateekm/samza store-test-fix
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/samza/pull/333.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 #333
----
commit 4f45a02110cf91d3a9afc08c607576e36254e14c
Author: Prateek Maheshwari <[email protected]>
Date: 2017-10-19T06:41:54Z
SAMZA-1466: Flaky test: TestRocksDbKeyValueStore suite
----
---