rocksdb/utilities/blob_db
Levi Tamasi 5043960623 Add a blob file builder class that can be used in background jobs (#7306)
Summary:
The patch adds a class called `BlobFileBuilder` that can be used to build
and cut blob files in background jobs (flushes/compactions). The class
enforces a value size threshold (`min_blob_size`; smaller blobs will be inlined
in the LSM tree itself), and supports specifying a blob file size limit (`blob_file_size`),
as well as compression (`blob_compression_type`) and checksums for blob files.
It also keeps track of the generated blob files and their associated `BlobFileAddition`
metadata, which can be applied as part of the background job's `VersionEdit`.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/7306

Test Plan: `make check`

Reviewed By: riversand963

Differential Revision: D23298817

Pulled By: ltamasi

fbshipit-source-id: 38f35d81dab1ba81f15236240612ec173d7f21b5
2020-08-27 11:55:54 -07:00
..
blob_compaction_filter.cc Update some log messages in BlobDB to account for compaction filters (#7128) 2020-07-14 16:53:33 -07:00
blob_compaction_filter.h Move the blob file format related classes to the main namespace, rename reader/writer (#7086) 2020-07-06 17:18:14 -07:00
blob_db_gc_stats.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
blob_db_impl_filesnapshot.cc Replace reinterpret_cast with static_cast_with_check (#7067) 2020-07-02 19:25:41 -07:00
blob_db_impl.cc Turn the compression_type check in BlobDBImpl::DecompressSlice into an assertion (#7127) 2020-07-15 13:19:14 -07:00
blob_db_impl.h Update some log messages in BlobDB to account for compaction filters (#7128) 2020-07-14 16:53:33 -07:00
blob_db_iterator.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
blob_db_listener.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
blob_db_test.cc Fix+clean up handling of mock sleeps (#7101) 2020-08-11 12:41:30 -07:00
blob_db.cc Destroy any ColumnFamilyHandles in BlobDB::Open upon error (#6763) 2020-04-27 16:45:13 -07:00
blob_db.h Move kNoExpiration to blob_db.h (#7018) 2020-06-23 13:45:06 -07:00
blob_dump_tool.cc Fix potential overflow of unsigned type in for loop (#6902) 2020-06-02 15:05:07 -07:00
blob_dump_tool.h Move blob_log_{format,reader,writer}.{cc,h} to db/blob/ (#6960) 2020-06-09 15:16:05 -07:00
blob_file.cc Add a blob file builder class that can be used in background jobs (#7306) 2020-08-27 11:55:54 -07:00
blob_file.h Remove some more dead code around syncing blob files (#7138) 2020-07-15 18:53:54 -07:00