From 10d29dab3176ec945dc7272323df0028ef7f0274 Mon Sep 17 00:00:00 2001 From: Xiaoxi Chen Date: Thu, 16 Apr 2015 13:42:42 +0800 Subject: [PATCH] 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 (cherry picked from commit 932d59d084090297c89cfa3ff7df0a952f807bab) --- src/os/LevelDBStore.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/os/LevelDBStore.cc b/src/os/LevelDBStore.cc index 454fafb620b17..de458d1608462 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"); plb.add_u64_counter(l_leveldb_txns, "leveldb_transaction"); @@ -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"); 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; } -- 2.39.5