mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-26 16:30:56 +00:00
Blob DB: Add db_bench options
Summary: Adding more BlobDB db_bench options which are needed for benchmarking. Closes https://github.com/facebook/rocksdb/pull/3230 Differential Revision: D6500711 Pulled By: sagar0 fbshipit-source-id: 91d63122905854ef7c9148a0235568719146e6c5
This commit is contained in:
parent
53a516ab58
commit
d51fcb21f4
|
@ -670,10 +670,30 @@ DEFINE_uint64(fifo_compaction_ttl, 0, "TTL for the SST Files in seconds.");
|
||||||
// Blob DB Options
|
// Blob DB Options
|
||||||
DEFINE_bool(use_blob_db, false,
|
DEFINE_bool(use_blob_db, false,
|
||||||
"Open a BlobDB instance. "
|
"Open a BlobDB instance. "
|
||||||
"Required for largevalue benchmark.");
|
"Required for large value benchmark.");
|
||||||
|
|
||||||
|
DEFINE_bool(blob_db_enable_gc, false, "Enable BlobDB garbage collection.");
|
||||||
|
|
||||||
|
DEFINE_bool(blob_db_is_fifo, false, "Enable FIFO eviction strategy in BlobDB.");
|
||||||
|
|
||||||
|
DEFINE_uint64(blob_db_dir_size, 0,
|
||||||
|
"Max size limit of the directory where blob files are stored.");
|
||||||
|
|
||||||
|
DEFINE_uint64(blob_db_max_ttl_range, 86400,
|
||||||
|
"TTL range to generate BlobDB data (in seconds).");
|
||||||
|
|
||||||
|
DEFINE_uint64(blob_db_ttl_range_secs, 3600,
|
||||||
|
"TTL bucket size to use when creating blob files.");
|
||||||
|
|
||||||
|
DEFINE_uint64(blob_db_min_blob_size, 0,
|
||||||
|
"Smallest blob to store in a file. Blobs smaller than this "
|
||||||
|
"will be inlined with the key in the LSM tree.");
|
||||||
|
|
||||||
|
DEFINE_uint64(blob_db_bytes_per_sync, 0, "Bytes to sync blob file at.");
|
||||||
|
|
||||||
|
DEFINE_uint64(blob_db_file_size, 256 * 1024 * 1024,
|
||||||
|
"Target size of each blob file.");
|
||||||
|
|
||||||
DEFINE_bool(blob_db_enable_gc, false,
|
|
||||||
"Enable BlobDB garbage collection");
|
|
||||||
#endif // ROCKSDB_LITE
|
#endif // ROCKSDB_LITE
|
||||||
|
|
||||||
DEFINE_bool(report_bg_io_stats, false,
|
DEFINE_bool(report_bg_io_stats, false,
|
||||||
|
@ -3391,6 +3411,12 @@ void VerifyDBFromDB(std::string& truth_db_name) {
|
||||||
} else if (FLAGS_use_blob_db) {
|
} else if (FLAGS_use_blob_db) {
|
||||||
blob_db::BlobDBOptions blob_db_options;
|
blob_db::BlobDBOptions blob_db_options;
|
||||||
blob_db_options.enable_garbage_collection = FLAGS_blob_db_enable_gc;
|
blob_db_options.enable_garbage_collection = FLAGS_blob_db_enable_gc;
|
||||||
|
blob_db_options.is_fifo = FLAGS_blob_db_is_fifo;
|
||||||
|
blob_db_options.blob_dir_size = FLAGS_blob_db_dir_size;
|
||||||
|
blob_db_options.ttl_range_secs = FLAGS_blob_db_ttl_range_secs;
|
||||||
|
blob_db_options.min_blob_size = FLAGS_blob_db_min_blob_size;
|
||||||
|
blob_db_options.bytes_per_sync = FLAGS_blob_db_bytes_per_sync;
|
||||||
|
blob_db_options.blob_file_size = FLAGS_blob_db_file_size;
|
||||||
blob_db::BlobDB* ptr = nullptr;
|
blob_db::BlobDB* ptr = nullptr;
|
||||||
s = blob_db::BlobDB::Open(options, blob_db_options, db_name, &ptr);
|
s = blob_db::BlobDB::Open(options, blob_db_options, db_name, &ptr);
|
||||||
if (s.ok()) {
|
if (s.ok()) {
|
||||||
|
@ -3575,7 +3601,7 @@ void VerifyDBFromDB(std::string& truth_db_name) {
|
||||||
if (use_blob_db_) {
|
if (use_blob_db_) {
|
||||||
#ifndef ROCKSDB_LITE
|
#ifndef ROCKSDB_LITE
|
||||||
Slice val = gen.Generate(value_size_);
|
Slice val = gen.Generate(value_size_);
|
||||||
int ttl = rand() % 86400;
|
int ttl = rand() % FLAGS_blob_db_max_ttl_range;
|
||||||
blob_db::BlobDB* blobdb =
|
blob_db::BlobDB* blobdb =
|
||||||
static_cast<blob_db::BlobDB*>(db_with_cfh->db);
|
static_cast<blob_db::BlobDB*>(db_with_cfh->db);
|
||||||
s = blobdb->PutWithTTL(write_options_, key, val, ttl);
|
s = blobdb->PutWithTTL(write_options_, key, val, ttl);
|
||||||
|
|
Loading…
Reference in a new issue