From: Xiaoxi Chen Date: Thu, 16 Apr 2015 05:42:42 +0000 (+0800) Subject: os/LevelDBStore:fix bug when compact_on_mount X-Git-Tag: v9.0.1~101^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F4372%2Fhead;p=ceph.git os/LevelDBStore: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/LevelDBStore.cc b/src/os/LevelDBStore.cc index aa58f4e27e33..65bb41be7ecb 100644 --- a/src/os/LevelDBStore.cc +++ b/src/os/LevelDBStore.cc @@ -74,12 +74,6 @@ int LevelDBStore::do_open(ostream &out, bool create_if_missing) return -EINVAL; } - if (g_conf->leveldb_compact_on_mount) { - derr << "Compacting leveldb store..." << dendl; - compact(); - derr << "Finished compacting leveldb store" << dendl; - } - PerfCountersBuilder plb(g_ceph_context, "leveldb", l_leveldb_first, l_leveldb_last); plb.add_u64_counter(l_leveldb_gets, "leveldb_get", "Gets"); plb.add_u64_counter(l_leveldb_txns, "leveldb_transaction", "Transactions"); @@ -89,6 +83,12 @@ int LevelDBStore::do_open(ostream &out, bool create_if_missing) plb.add_u64(l_leveldb_compact_queue_len, "leveldb_compact_queue_len", "Length of compaction queue"); logger = plb.create_perf_counters(); cct->get_perfcounters_collection()->add(logger); + + if (g_conf->leveldb_compact_on_mount) { + derr << "Compacting leveldb store..." << dendl; + compact(); + derr << "Finished compacting leveldb store" << dendl; + } return 0; }