rocksdb/include/rocksdb
Peter Dillinger e8e7fb1dcf More fixes to auto-GarbageCollect in BackupEngine (#6023)
Summary:
Production:
* Fixes GarbageCollect (and auto-GC triggered by PurgeOldBackups, DeleteBackup, or CreateNewBackup) to clean up backup directory independent of current settings (except max_valid_backups_to_open; see issue https://github.com/facebook/rocksdb/issues/4997) and prior settings used with same backup directory.
* Fixes GarbageCollect (and auto-GC) not to attempt to remove "." and ".." entries from directories.
* Clarifies contract with users in modifying BackupEngine operations. In short, leftovers from any incomplete operation are cleaned up by any subsequent call to that same kind of operation (PurgeOldBackups and DeleteBackup considered the same kind of operation). GarbageCollect is available to clean up after all kinds. (NB: right now PurgeOldBackups and DeleteBackup will clean up after incomplete CreateNewBackup, but we aren't promising to continue that behavior.)
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6023

Test Plan:
* Refactors open parameters to use an option enum, for readability, etc. (Also fixes an unused parameter bug in the redundant OpenDBAndBackupEngineShareWithChecksum.)
* Fixes an apparent bug in ShareTableFilesWithChecksumsTransition in which old backup data was destroyed in the transition to be tested. That test is now augmented to ensure GarbageCollect (or auto-GC) does not remove shared files when BackupEngine is opened with share_table_files=false.
* Augments DeleteTmpFiles test to ensure that CreateNewBackup does auto-GC when an incompletely created backup is detected.

Differential Revision: D18453559

Pulled By: pdillinger

fbshipit-source-id: 5e54e7b08d711b161bc9c656181012b69a8feac4
2019-11-14 06:20:18 -08:00
..
utilities More fixes to auto-GarbageCollect in BackupEngine (#6023) 2019-11-14 06:20:18 -08:00
advanced_options.h Make FIFO compaction take default 30 days TTL by default (#5987) 2019-10-31 11:13:12 -07:00
c.h Remove snap_refresh_nanos option (#5826) 2019-09-18 20:26:04 -07:00
cache.h Charge block cache for cache internal usage (#5797) 2019-09-16 15:26:21 -07:00
cleanable.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
compaction_filter.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
compaction_job_stats.h Add a new CPU time counter to compaction report (#4889) 2019-01-29 17:24:00 -08:00
comparator.h The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
concurrent_task_limiter.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
convenience.h Do readahead in VerifyChecksum() (#5713) 2019-08-16 16:42:56 -07:00
db_bench_tool.h Change RocksDB License 2017-07-15 16:11:23 -07:00
db_dump_tool.h Fix some typos in comments and docs. 2018-03-08 10:27:25 -08:00
db_stress_tool.h Expose db stress tests (#5937) 2019-10-18 09:46:44 -07:00
db.h Batched MultiGet API for multiple column families (#5816) 2019-11-12 13:52:55 -08:00
env_encryption.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
env.h Add Env::SanitizeEnvOptions (#5885) 2019-10-14 12:25:00 -07:00
experimental.h Change RocksDB License 2017-07-15 16:11:23 -07:00
filter_policy.h New Bloom filter implementation for full and partitioned filters (#6007) 2019-11-13 16:44:01 -08:00
flush_block_policy.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
iostats_context.h Add a new CPU time counter to compaction report (#4889) 2019-01-29 17:24:00 -08:00
iterator.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
ldb_tool.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
listener.h Propagate SST and blob file numbers through the EventListener interface (#5962) 2019-10-24 14:44:15 -07:00
memory_allocator.h JemallocNodumpAllocator: option to limit tcache memory usage (#4736) 2018-11-29 17:33:40 -08:00
memtablerep.h Add insert hints for each writebatch (#5728) 2019-09-12 17:15:18 -07:00
merge_operator.h The ObjectRegistry class replaces the Registrar and NewCustomObjects.… (#5293) 2019-07-23 17:13:05 -07:00
metadata.h Add file number/oldest referenced blob file number to {Sst,Live}FileMetaData (#6011) 2019-11-07 14:04:16 -08:00
options.h Remove snap_refresh_nanos option (#5826) 2019-09-18 20:26:04 -07:00
perf_context.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
perf_level.h Introduce a CPU time counter in perf_context (#4741) 2018-12-20 12:03:44 -08:00
persistent_cache.h Change RocksDB License 2017-07-15 16:11:23 -07:00
rate_limiter.h Fix typos in comments (#4819) 2018-12-26 09:43:56 -08:00
slice_transform.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
slice.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
snapshot.h Change RocksDB License 2017-07-15 16:11:23 -07:00
sst_dump_tool.h tools: use provided options instead of the default (#4839) 2019-01-03 11:23:49 -08:00
sst_file_manager.h Smooth the deletion of WAL files (#5116) 2019-03-28 15:17:13 -07:00
sst_file_reader.h Do readahead in VerifyChecksum() (#5713) 2019-08-16 16:42:56 -07:00
sst_file_writer.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
statistics.h WritePrepared: fix Get without snapshot (#5664) 2019-08-05 13:41:21 -07:00
stats_history.h Persistent Stats: persist stats history to disk (#5046) 2019-06-17 15:21:50 -07:00
status.h Allow users to stop manual compactions (#3971) 2019-09-16 21:01:47 -07:00
table_properties.h Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
table.h New Bloom filter implementation for full and partitioned filters (#6007) 2019-11-13 16:44:01 -08:00
thread_status.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
threadpool.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
trace_reader_writer.h Add the max trace file size limitation option to Tracing (#4610) 2018-11-27 14:27:05 -08:00
transaction_log.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
types.h WriteUnPrepared: less virtual in iterator callback (#5049) 2019-04-02 14:47:16 -07:00
universal_compaction.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
version.h Upgrading version to 6.6.0 on Master (#5965) 2019-10-28 13:14:45 -07:00
wal_filter.h Run automatic formatter against public header files (#5115) 2019-03-27 13:24:25 -07:00
write_batch_base.h Fix WriteBatchBase::DeleteRange API comment (#4935) 2019-01-31 14:43:40 -08:00
write_batch.h upgrade gtest 1.7.0 => 1.8.1 for json result writing 2019-09-09 11:24:11 -07:00
write_buffer_manager.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00