rocksdb/utilities/blob_db
Levi Tamasi 583c6953d8 Move out valid blobs from the oldest blob files during compaction (#6121)
Summary:
The patch adds logic that relocates live blobs from the oldest N non-TTL
blob files as they are encountered during compaction (assuming the BlobDB
configuration option `enable_garbage_collection` is `true`), where N is defined
as the number of immutable non-TTL blob files multiplied by the value of
a new BlobDB configuration option called `garbage_collection_cutoff`.
(The default value of this parameter is 0.25, that is, by default the valid blobs
residing in the oldest 25% of immutable non-TTL blob files are relocated.)
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6121

Test Plan: Added unit test and tested using the BlobDB mode of `db_bench`.

Differential Revision: D18785357

Pulled By: ltamasi

fbshipit-source-id: 8c21c512a18fba777ec28765c88682bb1a5e694e
2019-12-13 10:13:05 -08:00
..
blob_compaction_filter.cc Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
blob_compaction_filter.h Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
blob_db_impl_filesnapshot.cc Add file number/oldest referenced blob file number to {Sst,Live}FileMetaData (#6011) 2019-11-07 14:04:16 -08:00
blob_db_impl.cc Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
blob_db_impl.h Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
blob_db_iterator.h Refactor ArenaWrappedDBIter into separate files (#5801) 2019-09-13 13:50:43 -07:00
blob_db_listener.h BlobDB: Maintain mapping between blob files and SSTs (#6020) 2019-11-11 14:01:34 -08:00
blob_db_test.cc Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
blob_db.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
blob_db.h Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
blob_dump_tool.cc Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_dump_tool.h Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_file.cc Fix BlobDB compilation on older GCC versions 2019-11-27 13:09:09 -08:00
blob_file.h Move out valid blobs from the oldest blob files during compaction (#6121) 2019-12-13 10:13:05 -08:00
blob_log_format.cc utilities: Fix build failure with -Werror=maybe-uninitialized (#5074) 2019-03-18 11:35:06 -07:00
blob_log_format.h Refactor blob file creation logic (#6066) 2019-11-26 13:28:32 -08:00
blob_log_reader.cc Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_log_reader.h Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_log_writer.cc Divide file_reader_writer.h and .cc (#5803) 2019-09-16 10:33:51 -07:00
blob_log_writer.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00