rocksdb/include/rocksdb
Mikhail Antonov ba685a472a Support ingest_behind for IngestExternalFile
Summary:
First cut for early review; there are few conceptual points to answer and some code structure issues.

For conceptual points -

 - restriction-wise, we're going to disallow ingest_behind if (use_seqno_zero_out=true || disable_auto_compaction=false), the user is responsible to properly open and close DB with required params
 - we wanted to ingest into reserved bottom most level. Should we fail fast if bottom level isn't empty, or should we attempt to ingest if file fits there key-ranges-wise?
 - Modifying AssignLevelForIngestedFile seems the place we we'd handle that.

On code structure - going to refactor GenerateAndAddExternalFile call in the test class to allow passing instance of IngestionOptions, that's just going to incur lots of changes at callsites.
Closes https://github.com/facebook/rocksdb/pull/2144

Differential Revision: D4873732

Pulled By: lightmark

fbshipit-source-id: 81cb698106b68ef8797f564453651d50900e153a
2017-05-17 11:42:42 -07:00
..
utilities Add GetAllKeyVersions API 2017-05-12 15:54:06 -07:00
advanced_options.h Allow IntraL0 compaction in FIFO Compaction 2017-05-04 18:16:13 -07:00
c.h Add ROCKSDB_LIBRARY_API macro to a few C APIs, to fix windows build 2017-05-17 10:22:41 -07:00
cache.h Object lifetime in cache 2017-05-05 23:20:01 -07:00
cleanable.h Pinnableslice (2nd attempt) 2017-03-13 11:54:10 -07:00
compaction_filter.h Abort compactions more reliably when closing DB 2017-01-11 15:09:21 -08:00
compaction_job_stats.h Single Delete Mismatch and Fallthrough statistics 2016-08-16 08:21:43 -07:00
comparator.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
convenience.h Add GetSupportedCompressions() convenience function 2017-01-06 11:24:14 -08:00
db_bench_tool.h Separeate main from bench functionality to allow cusomizations 2016-02-16 06:17:31 -08:00
db_dump_tool.h Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
db.h Support ingest_behind for IngestExternalFile 2017-05-17 11:42:42 -07:00
env.h Blob storage pr 2017-05-10 15:14:44 -07:00
experimental.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
filter_policy.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
flush_block_policy.h Configure index partition size 2017-03-28 12:09:12 -07:00
iostats_context.h cross-platform compatibility improvements 2017-05-15 16:15:38 -07:00
iterator.h Pinnableslice (2nd attempt) 2017-03-13 11:54:10 -07:00
ldb_tool.h Allow Users to change customized ldb tools' header in help printing 2017-03-21 17:39:12 -07:00
listener.h Allow IntraL0 compaction in FIFO Compaction 2017-05-04 18:16:13 -07:00
memtablerep.h Unified InlineSkipList::Insert algorithm with hinting 2016-11-22 14:09:13 -08:00
merge_operator.h [rocksdb][PR] Remove option min_partial_merge_operands and verify_checksums_in_comp… 2017-02-23 15:09:12 -08:00
metadata.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
options.h Support ingest_behind for IngestExternalFile 2017-05-17 11:42:42 -07:00
perf_context.h cross-platform compatibility improvements 2017-05-15 16:15:38 -07:00
perf_level.h Move away from enum char value -1 2016-06-14 17:07:34 -07:00
persistent_cache.h Dump persistent cache options 2016-12-19 14:09:12 -08:00
rate_limiter.h Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
slice_transform.h Improve documentation of SliceTransform. 2016-08-11 15:10:09 -07:00
slice.h Pinnableslice (2nd attempt) 2017-03-13 11:54:10 -07:00
snapshot.h Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
sst_dump_tool.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sst_file_manager.h Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
sst_file_writer.h Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
statistics.h Add user stats Reset API 2017-04-26 15:57:01 -07:00
status.h Limit maximum memory used in the WriteBatch representation 2017-04-10 15:42:26 -07:00
table_properties.h Support SST files with Global sequence numbers [reland] 2016-10-18 16:59:37 -07:00
table.h Configure index partition size 2017-03-28 12:09:12 -07:00
thread_status.h cross-platform compatibility improvements 2017-05-15 16:15:38 -07:00
threadpool.h Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00
transaction_log.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
types.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
universal_compaction.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
version.h RocksDB Release 5.4 : Update HISTORY.md and build version. 2017-04-12 17:36:27 -07:00
wal_filter.h Avoid overloaded virtual function 2016-03-22 17:10:31 -07:00
write_batch_base.h support PopSavePoint for WriteBatch 2017-05-03 10:57:45 -07:00
write_batch.h support PopSavePoint for WriteBatch 2017-05-03 10:57:45 -07:00
write_buffer_manager.h Add GPLv2 as an alternative license. 2017-04-27 18:06:12 -07:00