rocksdb/java
Zhongyi Xie 3a18bb3e15 BaseDeltaIterator: always check valid() before accessing key() (#4702)
Summary:
Current implementation of `current_over_upper_bound_` fails to take into consideration that keys might be invalid in either base iterator or delta iterator. Calling key() in such scenario will lead to assertion failure and runtime errors.
This PR addresses the bug by adding check for valid keys before calling `IsOverUpperBound()`, also added test coverage for iterate_upper_bound usage in BaseDeltaIterator
Also recommit https://github.com/facebook/rocksdb/pull/4656 (It was reverted earlier due to bugs)
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4702

Differential Revision: D13146643

Pulled By: miasantreble

fbshipit-source-id: 6d136929da12d0f2e2a5cea474a8038ec5cdf1d0
2018-11-30 15:35:13 -08:00
..
benchmark/src/main/java/org/rocksdb/benchmark Expose max_background_jobs option in RocksJava 2017-09-20 10:26:37 -07:00
crossbuild Build improvements: Split docker targets and parallelize java builds 2018-07-23 13:28:37 -07:00
rocksjni BaseDeltaIterator: always check valid() before accessing key() (#4702) 2018-11-30 15:35:13 -08:00
samples/src/main/java Add TransactionDB and OptimisticTransactionDB to the Java API 2018-03-02 10:34:13 -08:00
src BaseDeltaIterator: always check valid() before accessing key() (#4702) 2018-11-30 15:35:13 -08:00
CMakeLists.txt Plumb WriteBufferManager through JNI (#4492) 2018-10-17 11:49:57 -07:00
HISTORY-JAVA.md Update JAVA-HISTORY.md for v3.13 2015-08-04 18:12:58 -07:00
jdb_bench.sh Suppress lint in old files 2018-01-29 12:56:42 -08:00
Makefile Plumb WriteBufferManager through JNI (#4492) 2018-10-17 11:49:57 -07:00
RELEASE.md Fixed packaging of java crossbuild jar by forcing all compiled binaries to be output to the java/target directory. The uber crossbuild jar is then assembled within the java/target directory. 2015-10-12 20:29:58 -04:00
rocksjni.pom Update java/rocksjni.pom 2017-07-18 13:12:23 -07:00