]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
Merge pull request #13053 from Ted-Chang/kstore-bloom-filter
authorKefu Chai <tchaikov@gmail.com>
Wed, 26 Apr 2017 16:29:45 +0000 (00:29 +0800)
committerGitHub <noreply@github.com>
Wed, 26 Apr 2017 16:29:45 +0000 (00:29 +0800)
os/kstore: Added rocksdb bloom filter settings

Reviewed-by: Sage Weil <sage@redhat.com>
1  2 
src/common/config_opts.h
src/kv/RocksDBStore.cc

index 6419682033dd5f178ad1b3f9fc3695bec117186f,78c7600b1e5180d5762c55e8fbdf9e6851ce3065..c5840f2a6778511a55bf64ac5f588bbe4a297599
@@@ -1154,8 -1037,8 +1154,9 @@@ 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_fsck_on_mount_deep, OPT_BOOL, true)
  OPTION(kstore_nid_prealloc, OPT_U64, 1024)
  OPTION(kstore_sync_transaction, OPT_BOOL, false)
  OPTION(kstore_sync_submit_transaction, OPT_BOOL, false)
index 81577401f1243a7bb6113473ba844fb6f150cc2f,1c1301d1e6522c111e57ab8f2c1414cfc34935bc..a535179428a234d31d6c64109415a729359c999a
@@@ -287,8 -279,14 +287,13 @@@ int RocksDBStore::do_open(ostream &out
    }
  
    auto cache = rocksdb::NewLRUCache(g_conf->rocksdb_cache_size, g_conf->rocksdb_cache_shard_bits);
 -  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