rocksdb/java
Islam AbdelRahman 869ae5d786 Support IngestExternalFile (remove AddFile restrictions)
Summary:
Changes in the diff

API changes:
- Introduce IngestExternalFile to replace AddFile (I think this make the API more clear)
- Introduce IngestExternalFileOptions (This struct will encapsulate the options for ingesting the external file)
- Deprecate AddFile() API

Logic changes:
- If our file overlap with the memtable we will flush the memtable
- We will find the first level in the LSM tree that our file key range overlap with the keys in it
- We will find the lowest level in the LSM tree above the the level we found in step 2 that our file can fit in and ingest our file in it
- We will assign a global sequence number to our new file
- Remove AddFile restrictions by using global sequence numbers

Other changes:
- Refactor all AddFile logic to be encapsulated in ExternalSstFileIngestionJob

Test Plan:
unit tests (still need to add more)
addfile_stress (https://reviews.facebook.net/D65037)

Reviewers: yiwu, andrewkr, lightmark, yhchiang, sdong

Reviewed By: sdong

Subscribers: jkedgar, hcz, andrewkr, dhruba

Differential Revision: https://reviews.facebook.net/D65061
2016-10-20 17:05:32 -07:00
..
benchmark/src/main/java/org/rocksdb/benchmark Deprectate filter_deletes 2016-06-17 10:30:47 -07:00
crossbuild 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 Support IngestExternalFile (remove AddFile restrictions) 2016-10-20 17:05:32 -07:00
samples/src/main/java Correct geHistogramData() -> getHistogramData() (#1257) 2016-08-04 20:16:16 -07:00
src Minor fixes to RocksJava Native Library initialization (#1287) 2016-10-19 18:21:22 -07:00
CMakeLists.txt Add missing RateLimiter class to the Windows build (#1382) 2016-10-12 15:00:37 -07:00
HISTORY-JAVA.md Update JAVA-HISTORY.md for v3.13 2015-08-04 18:12:58 -07:00
Makefile Remove "-Xcheck:jni" from Java tests (#1402) 2016-10-18 09:18:24 -04: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
jdb_bench.sh Moved Java Benchmark main classes into benchmark/src/main/java 2015-02-01 20:05:10 +00:00
rocksjni.pom Minor fixes around Windows 64 Java Artifacts (#1366) 2016-10-03 11:58:08 -07:00