From 53bb01516dff814684d7911c5a44f6352b636b56 Mon Sep 17 00:00:00 2001 From: James Sun Date: Tue, 7 Feb 2017 10:35:15 -0800 Subject: [PATCH] =?UTF-8?q?[rocksdb][PR]=20compaction=5Fstyle=20and=20comp?= =?UTF-8?q?action=5Fpri=20should=20output=20their=20value=20as=20a=20st?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: …ring Replace the numerical output for compaction_style and compaction_pri with strings Closes https://github.com/facebook/rocksdb/pull/1817 Differential Revision: D4482796 Pulled By: highker fbshipit-source-id: 5785768 --- util/options.cc | 29 +++++++++++++++++++++++++---- util/options_helper.h | 13 +++++++++++++ 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/util/options.cc b/util/options.cc index 21058835f..6df137dbe 100644 --- a/util/options.cc +++ b/util/options.cc @@ -31,6 +31,7 @@ #include "table/block_based_table_factory.h" #include "util/compression.h" #include "util/db_options.h" +#include "util/options_helper.h" #include "util/statistics.h" #include "util/xfunc.h" @@ -285,10 +286,30 @@ void ColumnFamilyOptions::Dump(Logger* log) const { disable_auto_compactions); Header(log, " Options.verify_checksums_in_compaction: %d", verify_checksums_in_compaction); - Header(log, " Options.compaction_style: %d", - compaction_style); - Header(log, " Options.compaction_pri: %d", - compaction_pri); + + const auto& it_compaction_style = + compaction_style_to_string.find(compaction_style); + std::string str_compaction_style; + if (it_compaction_style == compaction_style_to_string.end()) { + assert(false); + str_compaction_style = "unknown_" + std::to_string(compaction_style); + } else { + str_compaction_style = it_compaction_style->second; + } + Header(log, " Options.compaction_style: %s", + str_compaction_style.c_str()); + + const auto& it_compaction_pri = + compaction_pri_to_string.find(compaction_pri); + std::string str_compaction_pri; + if (it_compaction_pri == compaction_pri_to_string.end()) { + assert(false); + str_compaction_pri = "unknown_" + std::to_string(compaction_pri); + } else { + str_compaction_pri = it_compaction_pri->second; + } + Header(log, " Options.compaction_pri: %s", + str_compaction_pri.c_str()); Header(log, " Options.compaction_options_universal.size_ratio: %u", compaction_options_universal.size_ratio); Header(log, "Options.compaction_options_universal.min_merge_width: %u", diff --git a/util/options_helper.h b/util/options_helper.h index 3dbf36b54..1af4aa300 100644 --- a/util/options_helper.h +++ b/util/options_helper.h @@ -5,6 +5,7 @@ #pragma once +#include #include #include #include @@ -24,6 +25,18 @@ ColumnFamilyOptions BuildColumnFamilyOptions( const ColumnFamilyOptions& ioptions, const MutableCFOptions& mutable_cf_options); +static std::map compaction_style_to_string = { + {kCompactionStyleLevel, "kCompactionStyleLevel"}, + {kCompactionStyleUniversal, "kCompactionStyleUniversal"}, + {kCompactionStyleFIFO, "kCompactionStyleFIFO"}, + {kCompactionStyleNone, "kCompactionStyleNone"}}; + +static std::map compaction_pri_to_string = { + {kByCompensatedSize, "kByCompensatedSize"}, + {kOldestLargestSeqFirst, "kOldestLargestSeqFirst"}, + {kOldestSmallestSeqFirst, "kOldestSmallestSeqFirst"}, + {kMinOverlappingRatio, "kMinOverlappingRatio"}}; + #ifndef ROCKSDB_LITE // Returns true if the input char "c" is considered as a special character