From 981c8e70651095702e89f276d17e6ae69ed2845b Mon Sep 17 00:00:00 2001 From: Ted-Chang Date: Sun, 22 Jan 2017 05:49:51 -0500 Subject: [PATCH] Added rocksdb bloom filter settings for kstore. Signed-off-by: Ted-Chang --- src/common/config_opts.h | 1 + src/kv/RocksDBStore.cc | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/common/config_opts.h b/src/common/config_opts.h index b37d10c20b09..78c7600b1e51 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -1037,6 +1037,7 @@ OPTION(kstore_max_ops, OPT_U64, 512) OPTION(kstore_max_bytes, OPT_U64, 64*1024*1024) OPTION(kstore_backend, OPT_STR, "rocksdb") OPTION(kstore_rocksdb_options, OPT_STR, "compression=kNoCompression") +OPTION(kstore_rocksdb_bloom_bits_per_key, OPT_INT, 0) OPTION(kstore_fsck_on_mount, OPT_BOOL, false) OPTION(kstore_nid_prealloc, OPT_U64, 1024) OPTION(kstore_sync_transaction, OPT_BOOL, false) diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc index 989a375e5171..1c1301d1e652 100644 --- a/src/kv/RocksDBStore.cc +++ b/src/kv/RocksDBStore.cc @@ -282,6 +282,11 @@ int RocksDBStore::do_open(ostream &out, bool create_if_missing) rocksdb::BlockBasedTableOptions bbt_opts; bbt_opts.block_size = g_conf->rocksdb_block_size; bbt_opts.block_cache = cache; + if (g_conf->kstore_rocksdb_bloom_bits_per_key > 0) { + dout(10) << __func__ << " set bloom filter bits per key to " + << g_conf->kstore_rocksdb_bloom_bits_per_key << dendl; + bbt_opts.filter_policy.reset(rocksdb::NewBloomFilterPolicy(g_conf->kstore_rocksdb_bloom_bits_per_key)); + } opt.table_factory.reset(rocksdb::NewBlockBasedTableFactory(bbt_opts)); dout(10) << __func__ << " set block size to " << g_conf->rocksdb_block_size << " cache size to " << g_conf->rocksdb_cache_size -- 2.47.3