Log CompactOnDeletionCollectorFactory parameters on DB open (#6686)

Summary:
Log it in the info log to help in troubleshooting. It is logged as follows -
```
2020/04/10-10:51:39.886662 7ffff7fef340                   Options.table_properties_collectors: CompactOnDeletionCollector (Sliding window size = 100 Deletion trigger = 90);
```

Tests:
make check
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6686

Reviewed By: ltamasi

Differential Revision: D21002442

Pulled By: anand1976

fbshipit-source-id: 7adf0dbae7f1febcb00ce61fea5097118ede5c6a
main
anand76 5 years ago committed by Facebook GitHub Bot
parent 38dfa406ff
commit 3d6d7bcf17
  1. 5
      include/rocksdb/table_properties.h
  2. 8
      include/rocksdb/utilities/table_properties_collectors.h
  3. 7
      options/options.cc
  4. 8
      utilities/table_properties_collectors/compact_on_deletion_collector.cc

@ -136,6 +136,11 @@ class TablePropertiesCollectorFactory {
// The name of the properties collector can be used for debugging purpose. // The name of the properties collector can be used for debugging purpose.
virtual const char* Name() const = 0; virtual const char* Name() const = 0;
// Can be overridden by sub-classes to return the Name, followed by
// configuration info that will // be logged to the info log when the
// DB is opened
virtual std::string ToString() const { return Name(); }
}; };
// TableProperties contains a bunch of read-only properties of its associated // TableProperties contains a bunch of read-only properties of its associated

@ -18,9 +18,9 @@ namespace ROCKSDB_NAMESPACE {
class CompactOnDeletionCollectorFactory class CompactOnDeletionCollectorFactory
: public TablePropertiesCollectorFactory { : public TablePropertiesCollectorFactory {
public: public:
virtual ~CompactOnDeletionCollectorFactory() {} ~CompactOnDeletionCollectorFactory() {}
virtual TablePropertiesCollector* CreateTablePropertiesCollector( TablePropertiesCollector* CreateTablePropertiesCollector(
TablePropertiesCollectorFactory::Context context) override; TablePropertiesCollectorFactory::Context context) override;
// Change the value of sliding_window_size "N" // Change the value of sliding_window_size "N"
@ -34,10 +34,12 @@ class CompactOnDeletionCollectorFactory
deletion_trigger_.store(deletion_trigger); deletion_trigger_.store(deletion_trigger);
} }
virtual const char* Name() const override { const char* Name() const override {
return "CompactOnDeletionCollector"; return "CompactOnDeletionCollector";
} }
std::string ToString() const override;
private: private:
friend std::shared_ptr<CompactOnDeletionCollectorFactory> friend std::shared_ptr<CompactOnDeletionCollectorFactory>
NewCompactOnDeletionCollectorFactory(size_t sliding_window_size, NewCompactOnDeletionCollectorFactory(size_t sliding_window_size,

@ -319,14 +319,13 @@ void ColumnFamilyOptions::Dump(Logger* log) const {
ROCKS_LOG_HEADER(log, ROCKS_LOG_HEADER(log,
"Options.compaction_options_fifo.allow_compaction: %d", "Options.compaction_options_fifo.allow_compaction: %d",
compaction_options_fifo.allow_compaction); compaction_options_fifo.allow_compaction);
std::string collector_names; std::ostringstream collector_info;
for (const auto& collector_factory : table_properties_collector_factories) { for (const auto& collector_factory : table_properties_collector_factories) {
collector_names.append(collector_factory->Name()); collector_info << collector_factory->ToString() << ';';
collector_names.append("; ");
} }
ROCKS_LOG_HEADER( ROCKS_LOG_HEADER(
log, " Options.table_properties_collectors: %s", log, " Options.table_properties_collectors: %s",
collector_names.c_str()); collector_info.str().c_str());
ROCKS_LOG_HEADER(log, ROCKS_LOG_HEADER(log,
" Options.inplace_update_support: %d", " Options.inplace_update_support: %d",
inplace_update_support); inplace_update_support);

@ -7,6 +7,7 @@
#include "utilities/table_properties_collectors/compact_on_deletion_collector.h" #include "utilities/table_properties_collectors/compact_on_deletion_collector.h"
#include <memory> #include <memory>
#include <sstream>
#include "rocksdb/utilities/table_properties_collectors.h" #include "rocksdb/utilities/table_properties_collectors.h"
namespace ROCKSDB_NAMESPACE { namespace ROCKSDB_NAMESPACE {
@ -78,6 +79,13 @@ CompactOnDeletionCollectorFactory::CreateTablePropertiesCollector(
sliding_window_size_.load(), deletion_trigger_.load()); sliding_window_size_.load(), deletion_trigger_.load());
} }
std::string CompactOnDeletionCollectorFactory::ToString() const {
std::ostringstream cfg;
cfg << Name() << " (Sliding window size = " << sliding_window_size_.load()
<< " Deletion trigger = " << deletion_trigger_.load() << ')';
return cfg.str();
}
std::shared_ptr<CompactOnDeletionCollectorFactory> std::shared_ptr<CompactOnDeletionCollectorFactory>
NewCompactOnDeletionCollectorFactory( NewCompactOnDeletionCollectorFactory(
size_t sliding_window_size, size_t sliding_window_size,

Loading…
Cancel
Save