Skip to content

Commit

Permalink
Blob DB: Add db_bench options
Browse files Browse the repository at this point in the history
Summary:
Adding more BlobDB db_bench options which are needed for benchmarking.
Closes facebook#3230

Differential Revision: D6500711

Pulled By: sagar0

fbshipit-source-id: 91d63122905854ef7c9148a0235568719146e6c5
  • Loading branch information
sagar0 authored and facebook-github-bot committed Dec 7, 2017
1 parent 53a516a commit d51fcb2
Showing 1 changed file with 30 additions and 4 deletions.
34 changes: 30 additions & 4 deletions tools/db_bench_tool.cc
Original file line number Diff line number Diff line change
Expand Up @@ -670,10 +670,30 @@ DEFINE_uint64(fifo_compaction_ttl, 0, "TTL for the SST Files in seconds.");
// Blob DB Options
DEFINE_bool(use_blob_db, false,
"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

DEFINE_bool(report_bg_io_stats, false,
Expand Down Expand Up @@ -3391,6 +3411,12 @@ void VerifyDBFromDB(std::string& truth_db_name) {
} else if (FLAGS_use_blob_db) {
blob_db::BlobDBOptions blob_db_options;
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;
s = blob_db::BlobDB::Open(options, blob_db_options, db_name, &ptr);
if (s.ok()) {
Expand Down Expand Up @@ -3575,7 +3601,7 @@ void VerifyDBFromDB(std::string& truth_db_name) {
if (use_blob_db_) {
#ifndef ROCKSDB_LITE
Slice val = gen.Generate(value_size_);
int ttl = rand() % 86400;
int ttl = rand() % FLAGS_blob_db_max_ttl_range;
blob_db::BlobDB* blobdb =
static_cast<blob_db::BlobDB*>(db_with_cfh->db);
s = blobdb->PutWithTTL(write_options_, key, val, ttl);
Expand Down

0 comments on commit d51fcb2

Please sign in to comment.