From 22bb7c754beec3702eb91a5cc229cd2f88ec8aba Mon Sep 17 00:00:00 2001 From: Haobo Xu Date: Thu, 26 Sep 2013 22:53:01 -0700 Subject: [PATCH] [RocksDB] print the name of options.memtable_factory in LOG so we know Summary: as title Test Plan: make check Reviewers: dhruba, emayanke Reviewed By: dhruba CC: leveldb Differential Revision: https://reviews.facebook.net/D13179 --- include/rocksdb/memtablerep.h | 18 ++++++++++++++++++ util/options.cc | 2 ++ 2 files changed, 20 insertions(+) diff --git a/include/rocksdb/memtablerep.h b/include/rocksdb/memtablerep.h index 209249837..31275a77a 100644 --- a/include/rocksdb/memtablerep.h +++ b/include/rocksdb/memtablerep.h @@ -143,6 +143,7 @@ class MemTableRepFactory { virtual ~MemTableRepFactory() { }; virtual std::shared_ptr CreateMemTableRep( MemTableRep::KeyComparator&, Arena*) = 0; + virtual const char* Name() const = 0; }; // This creates MemTableReps that are backed by an std::vector. On iteration, @@ -159,6 +160,9 @@ public: explicit VectorRepFactory(size_t count = 0) : count_(count) { } virtual std::shared_ptr CreateMemTableRep( MemTableRep::KeyComparator&, Arena*) override; + virtual const char* Name() const override { + return "VectorRepFactory"; + } }; // This uses a skip list to store keys. It is the default. @@ -166,6 +170,9 @@ class SkipListFactory : public MemTableRepFactory { public: virtual std::shared_ptr CreateMemTableRep( MemTableRep::KeyComparator&, Arena*) override; + virtual const char* Name() const override { + return "SkipListFactory"; + } }; // TransformReps are backed by an unordered map of buffers to buckets. When @@ -201,6 +208,10 @@ class TransformRepFactory : public MemTableRepFactory { virtual std::shared_ptr CreateMemTableRep( MemTableRep::KeyComparator&, Arena*) override; + virtual const char* Name() const override { + return "TransformRepFactory"; + } + const SliceTransform* GetTransform() { return transform_; } protected: @@ -219,6 +230,9 @@ public: : TransformRepFactory(NewNoopTransform(), bucket_count, num_locks) { } + virtual const char* Name() const override { + return "UnsortedRepFactory"; + } }; // PrefixHashReps bin user keys based on a fixed-size prefix. This optimizes for @@ -234,6 +248,10 @@ public: virtual std::shared_ptr CreateMemTableRep( MemTableRep::KeyComparator&, Arena*) override; + + virtual const char* Name() const override { + return "PrefixHashRepFactory"; + } }; } diff --git a/util/options.cc b/util/options.cc index 09bcd4c76..a1d6b81db 100644 --- a/util/options.cc +++ b/util/options.cc @@ -104,6 +104,8 @@ Options::Dump(Logger* log) const compaction_filter? compaction_filter->Name() : "None"); Log(log," Options.compaction_filter_factory: %s", compaction_filter_factory->Name()); + Log(log," Options.memtable_factory: %s", + memtable_factory->Name()); Log(log," Options.error_if_exists: %d", error_if_exists); Log(log," Options.create_if_missing: %d", create_if_missing); Log(log," Options.paranoid_checks: %d", paranoid_checks); -- GitLab