rocksdb/java/rocksjni
Islam AbdelRahman f201a44b41 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-25 10:52:06 -07:00
..
backupablejni.cc Delete deprecated backup classes in Java 2016-04-19 10:32:31 -07:00
backupenginejni.cc Improve the speed and synchronization around the construction of Java/JNI objects 2016-02-10 14:44:39 +00:00
checkpoint.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
columnfamilyhandle.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
compaction_filter.cc Java API - Bugfix for native linking of Compaction Filter (#1099) 2016-06-03 10:24:03 -07:00
comparator.cc Improve the speed and synchronization around the construction of Java/JNI objects 2016-02-10 14:44:39 +00:00
comparatorjnicallback.cc Fix a memory leak of Slice objects from org.rocksdb.WBWIRocksIterator#entry1 2016-02-10 14:44:39 +00:00
comparatorjnicallback.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
env_options.cc Add Java API for SstFileWriter 2016-09-29 17:04:41 -04:00
env.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
external_sst_file_info.cc Add Java API for SstFileWriter 2016-09-29 17:04:41 -04:00
filter.cc Improve the speed and synchronization around the construction of Java/JNI objects 2016-02-10 14:44:39 +00:00
iterator.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
loggerjnicallback.cc [Fix Java] Remove duplicate cases in LoggerJniCallback::Logv 2016-07-29 12:47:15 -07:00
loggerjnicallback.h Bugfix to ensure that logging can be achieved from threads that are not known to the JVM (#1106) 2016-07-28 16:54:06 -07:00
memtablejni.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
merge_operator.cc Integrated feedback from ankgup87 2014-10-13 15:37:29 -07:00
options.cc [RocksJava] Adjusted RateLimiter to 3.10.0 (#1368) 2016-10-07 12:32:21 -07:00
portal.h Add Status to RocksDBException so that meaningful function result Status from the C++ API isn't lost (#1273) 2016-08-22 11:01:42 -07:00
ratelimiterjni.cc [RocksJava] Adjusted RateLimiter to 3.10.0 (#1368) 2016-10-07 12:32:21 -07:00
remove_emptyvalue_compactionfilterjni.cc Improve the speed and synchronization around the construction of Java/JNI objects 2016-02-10 14:44:39 +00:00
restorejni.cc Delete deprecated backup classes in Java 2016-04-19 10:32:31 -07:00
rocksdb_exception_test.cc Add Status to RocksDBException so that meaningful function result Status from the C++ API isn't lost (#1273) 2016-08-22 11:01:42 -07:00
rocksjni.cc Support IngestExternalFile (remove AddFile restrictions) 2016-10-25 10:52:06 -07:00
slice.cc Improve the speed and synchronization around the construction of Java/JNI objects 2016-02-10 14:44:39 +00:00
snapshot.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sst_file_writerjni.cc Add Java API for SstFileWriter 2016-09-29 17:04:41 -04:00
statistics.cc Java API - Rename geHistogramData -> getHistogramData (#1107) 2016-06-06 16:04:16 -07:00
table.cc Adding pin_l0_filter_and_index_blocks_in_cache feature and related fixes. 2016-04-01 10:42:39 -07:00
transaction_log.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
ttl.cc [Fix java build] Stop using non standard std::make_unique 2016-07-26 13:18:31 -07:00
write_batch_test.cc Fixing JNI release build for gcc (#975) 2016-09-29 17:11:32 -04:00
write_batch_with_index.cc Expose save points in Java WriteBatch and WBWI (#1092) 2016-06-14 09:51:14 -07:00
write_batch.cc Remove ImmutableCFOptions from public API 2016-09-02 14:16:31 -07:00
writebatchhandlerjnicallback.cc Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
writebatchhandlerjnicallback.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00