From: Xiaoxi Chen Date: Thu, 16 Apr 2015 05:39:57 +0000 (+0800) Subject: os/RocksDBStore: fix bug when compact_on_mount X-Git-Tag: v9.0.1~101^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=36db6d2dc4b99cb9cb0dded94d7c388ed6e496e2;p=ceph.git os/RocksDBStore: fix bug when compact_on_mount Initialize the performance counter(l_rocksdb_compact) before use it in compact(). Signed-off-by: Xiaoxi Chen --- diff --git a/src/os/RocksDBStore.cc b/src/os/RocksDBStore.cc index b263723cb0ee..bbec3e6953b7 100644 --- a/src/os/RocksDBStore.cc +++ b/src/os/RocksDBStore.cc @@ -131,20 +131,11 @@ int RocksDBStore::do_open(ostream &out, bool create_if_missing) //apply env setting ldoptions.env = env; - //rocksdb::DB *_db; rocksdb::Status status = rocksdb::DB::Open(ldoptions, path, &db); if (!status.ok()) { out << status.ToString() << std::endl; return -EINVAL; } - //db.reset(_db); - - if (g_conf->rocksdb_compact_on_mount) { - derr << "Compacting rocksdb store..." << dendl; - compact(); - derr << "Finished compacting rocksdb store" << dendl; - } - PerfCountersBuilder plb(g_ceph_context, "rocksdb", l_rocksdb_first, l_rocksdb_last); plb.add_u64_counter(l_rocksdb_gets, "rocksdb_get", "Gets"); @@ -155,6 +146,12 @@ int RocksDBStore::do_open(ostream &out, bool create_if_missing) plb.add_u64(l_rocksdb_compact_queue_len, "rocksdb_compact_queue_len", "Length of compaction queue"); logger = plb.create_perf_counters(); cct->get_perfcounters_collection()->add(logger); + + if (g_conf->rocksdb_compact_on_mount) { + derr << "Compacting rocksdb store..." << dendl; + compact(); + derr << "Finished compacting rocksdb store" << dendl; + } return 0; }