remove all remaining references to cfd->options()
Summary: The very last reference happens in DBImpl::GetOptions() I built with both DBImpl::GetOptions() and ColumnFamilyData::options() commented out Test Plan: make all check Reviewers: sdong, yhchiang, igor Reviewed By: igor Subscribers: dhruba, leveldb Differential Revision: https://reviews.facebook.net/D29073
This commit is contained in:
parent
1e4a45aac8
commit
8d3f8f9696
@ -752,11 +752,6 @@ MemTable* ColumnFamilyMemTablesImpl::GetMemTable() const {
|
|||||||
return current_->mem();
|
return current_->mem();
|
||||||
}
|
}
|
||||||
|
|
||||||
const Options* ColumnFamilyMemTablesImpl::GetOptions() const {
|
|
||||||
assert(current_ != nullptr);
|
|
||||||
return current_->options();
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnFamilyHandle* ColumnFamilyMemTablesImpl::GetColumnFamilyHandle() {
|
ColumnFamilyHandle* ColumnFamilyMemTablesImpl::GetColumnFamilyHandle() {
|
||||||
assert(current_ != nullptr);
|
assert(current_ != nullptr);
|
||||||
return &handle_;
|
return &handle_;
|
||||||
|
@ -172,9 +172,10 @@ class ColumnFamilyData {
|
|||||||
void SetLogNumber(uint64_t log_number) { log_number_ = log_number; }
|
void SetLogNumber(uint64_t log_number) { log_number_ = log_number; }
|
||||||
uint64_t GetLogNumber() const { return log_number_; }
|
uint64_t GetLogNumber() const { return log_number_; }
|
||||||
|
|
||||||
// thread-safe
|
// !!! To be deprecated! Please don't not use this function anymore!
|
||||||
// To be deprecated! Please don't not use this function anymore!
|
|
||||||
const Options* options() const { return &options_; }
|
const Options* options() const { return &options_; }
|
||||||
|
|
||||||
|
// thread-safe
|
||||||
const EnvOptions* soptions() const;
|
const EnvOptions* soptions() const;
|
||||||
const ImmutableCFOptions* ioptions() const { return &ioptions_; }
|
const ImmutableCFOptions* ioptions() const { return &ioptions_; }
|
||||||
// REQUIRES: DB mutex held
|
// REQUIRES: DB mutex held
|
||||||
@ -444,10 +445,6 @@ class ColumnFamilyMemTablesImpl : public ColumnFamilyMemTables {
|
|||||||
// REQUIRES: Seek() called first
|
// REQUIRES: Seek() called first
|
||||||
virtual MemTable* GetMemTable() const override;
|
virtual MemTable* GetMemTable() const override;
|
||||||
|
|
||||||
// Returns options for selected column family
|
|
||||||
// REQUIRES: Seek() called first
|
|
||||||
virtual const Options* GetOptions() const override;
|
|
||||||
|
|
||||||
// Returns column family handle for the selected column family
|
// Returns column family handle for the selected column family
|
||||||
virtual ColumnFamilyHandle* GetColumnFamilyHandle() override;
|
virtual ColumnFamilyHandle* GetColumnFamilyHandle() override;
|
||||||
|
|
||||||
|
@ -81,8 +81,8 @@ Status DBImpl::TEST_CompactRange(int level, const Slice* begin,
|
|||||||
cfd = cfh->cfd();
|
cfd = cfh->cfd();
|
||||||
}
|
}
|
||||||
int output_level =
|
int output_level =
|
||||||
(cfd->options()->compaction_style == kCompactionStyleUniversal ||
|
(cfd->ioptions()->compaction_style == kCompactionStyleUniversal ||
|
||||||
cfd->options()->compaction_style == kCompactionStyleFIFO)
|
cfd->ioptions()->compaction_style == kCompactionStyleFIFO)
|
||||||
? level
|
? level
|
||||||
: level + 1;
|
: level + 1;
|
||||||
return RunManualCompaction(cfd, level, output_level, 0, begin, end);
|
return RunManualCompaction(cfd, level, output_level, 0, begin, end);
|
||||||
|
@ -119,7 +119,7 @@ ForwardIterator::ForwardIterator(DBImpl* db, const ReadOptions& read_options,
|
|||||||
: db_(db),
|
: db_(db),
|
||||||
read_options_(read_options),
|
read_options_(read_options),
|
||||||
cfd_(cfd),
|
cfd_(cfd),
|
||||||
prefix_extractor_(cfd->options()->prefix_extractor.get()),
|
prefix_extractor_(cfd->ioptions()->prefix_extractor),
|
||||||
user_comparator_(cfd->user_comparator()),
|
user_comparator_(cfd->user_comparator()),
|
||||||
immutable_min_heap_(MinIterComparator(&cfd_->internal_comparator())),
|
immutable_min_heap_(MinIterComparator(&cfd_->internal_comparator())),
|
||||||
sv_(current_sv),
|
sv_(current_sv),
|
||||||
|
@ -361,8 +361,8 @@ void InternalStats::DumpCFStats(std::string* value) {
|
|||||||
const VersionStorageInfo* vstorage = cfd_->current()->storage_info();
|
const VersionStorageInfo* vstorage = cfd_->current()->storage_info();
|
||||||
|
|
||||||
int num_levels_to_check =
|
int num_levels_to_check =
|
||||||
(cfd_->options()->compaction_style != kCompactionStyleUniversal &&
|
(cfd_->ioptions()->compaction_style != kCompactionStyleUniversal &&
|
||||||
cfd_->options()->compaction_style != kCompactionStyleFIFO)
|
cfd_->ioptions()->compaction_style != kCompactionStyleFIFO)
|
||||||
? vstorage->num_levels() - 1
|
? vstorage->num_levels() - 1
|
||||||
: 1;
|
: 1;
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ class Repairer {
|
|||||||
WriteBatch batch;
|
WriteBatch batch;
|
||||||
MemTable* mem = new MemTable(icmp_, ioptions_,
|
MemTable* mem = new MemTable(icmp_, ioptions_,
|
||||||
MutableCFOptions(options_, ioptions_));
|
MutableCFOptions(options_, ioptions_));
|
||||||
auto cf_mems_default = new ColumnFamilyMemTablesDefault(mem, &options_);
|
auto cf_mems_default = new ColumnFamilyMemTablesDefault(mem);
|
||||||
mem->Ref();
|
mem->Ref();
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
while (reader.ReadRecord(&record, &scratch)) {
|
while (reader.ReadRecord(&record, &scratch)) {
|
||||||
|
@ -2639,7 +2639,7 @@ Iterator* VersionSet::MakeInputIterator(Compaction* c) {
|
|||||||
auto cfd = c->column_family_data();
|
auto cfd = c->column_family_data();
|
||||||
ReadOptions read_options;
|
ReadOptions read_options;
|
||||||
read_options.verify_checksums =
|
read_options.verify_checksums =
|
||||||
cfd->options()->verify_checksums_in_compaction;
|
c->mutable_cf_options()->verify_checksums_in_compaction;
|
||||||
read_options.fill_cache = false;
|
read_options.fill_cache = false;
|
||||||
|
|
||||||
// Level-0 files have to be merged together. For other levels,
|
// Level-0 files have to be merged together. For other levels,
|
||||||
|
@ -26,15 +26,14 @@ class ColumnFamilyMemTables {
|
|||||||
// been processed)
|
// been processed)
|
||||||
virtual uint64_t GetLogNumber() const = 0;
|
virtual uint64_t GetLogNumber() const = 0;
|
||||||
virtual MemTable* GetMemTable() const = 0;
|
virtual MemTable* GetMemTable() const = 0;
|
||||||
virtual const Options* GetOptions() const = 0;
|
|
||||||
virtual ColumnFamilyHandle* GetColumnFamilyHandle() = 0;
|
virtual ColumnFamilyHandle* GetColumnFamilyHandle() = 0;
|
||||||
virtual void CheckMemtableFull() = 0;
|
virtual void CheckMemtableFull() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ColumnFamilyMemTablesDefault : public ColumnFamilyMemTables {
|
class ColumnFamilyMemTablesDefault : public ColumnFamilyMemTables {
|
||||||
public:
|
public:
|
||||||
ColumnFamilyMemTablesDefault(MemTable* mem, const Options* options)
|
explicit ColumnFamilyMemTablesDefault(MemTable* mem)
|
||||||
: ok_(false), mem_(mem), options_(options) {}
|
: ok_(false), mem_(mem) {}
|
||||||
|
|
||||||
bool Seek(uint32_t column_family_id) override {
|
bool Seek(uint32_t column_family_id) override {
|
||||||
ok_ = (column_family_id == 0);
|
ok_ = (column_family_id == 0);
|
||||||
@ -48,11 +47,6 @@ class ColumnFamilyMemTablesDefault : public ColumnFamilyMemTables {
|
|||||||
return mem_;
|
return mem_;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Options* GetOptions() const override {
|
|
||||||
assert(ok_);
|
|
||||||
return options_;
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnFamilyHandle* GetColumnFamilyHandle() override { return nullptr; }
|
ColumnFamilyHandle* GetColumnFamilyHandle() override { return nullptr; }
|
||||||
|
|
||||||
void CheckMemtableFull() override {}
|
void CheckMemtableFull() override {}
|
||||||
@ -60,7 +54,6 @@ class ColumnFamilyMemTablesDefault : public ColumnFamilyMemTables {
|
|||||||
private:
|
private:
|
||||||
bool ok_;
|
bool ok_;
|
||||||
MemTable* mem_;
|
MemTable* mem_;
|
||||||
const Options* const options_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// WriteBatchInternal provides static methods for manipulating a
|
// WriteBatchInternal provides static methods for manipulating a
|
||||||
|
@ -32,7 +32,7 @@ static std::string PrintContents(WriteBatch* b) {
|
|||||||
MutableCFOptions(options, ioptions));
|
MutableCFOptions(options, ioptions));
|
||||||
mem->Ref();
|
mem->Ref();
|
||||||
std::string state;
|
std::string state;
|
||||||
ColumnFamilyMemTablesDefault cf_mems_default(mem, &options);
|
ColumnFamilyMemTablesDefault cf_mems_default(mem);
|
||||||
Status s = WriteBatchInternal::InsertInto(b, &cf_mems_default);
|
Status s = WriteBatchInternal::InsertInto(b, &cf_mems_default);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
Arena arena;
|
Arena arena;
|
||||||
|
@ -421,7 +421,10 @@ struct ColumnFamilyOptions {
|
|||||||
|
|
||||||
// If true, compaction will verify checksum on every read that happens
|
// If true, compaction will verify checksum on every read that happens
|
||||||
// as part of compaction
|
// as part of compaction
|
||||||
|
//
|
||||||
// Default: true
|
// Default: true
|
||||||
|
//
|
||||||
|
// Dynamically changeable through SetOptions() API
|
||||||
bool verify_checksums_in_compaction;
|
bool verify_checksums_in_compaction;
|
||||||
|
|
||||||
// The options needed to support Universal Style compactions
|
// The options needed to support Universal Style compactions
|
||||||
|
@ -344,7 +344,7 @@ jbyteArray Java_org_rocksdb_test_WriteBatchTest_getContents(
|
|||||||
rocksdb::ImmutableCFOptions(options)));
|
rocksdb::ImmutableCFOptions(options)));
|
||||||
mem->Ref();
|
mem->Ref();
|
||||||
std::string state;
|
std::string state;
|
||||||
rocksdb::ColumnFamilyMemTablesDefault cf_mems_default(mem, &options);
|
rocksdb::ColumnFamilyMemTablesDefault cf_mems_default(mem);
|
||||||
rocksdb::Status s =
|
rocksdb::Status s =
|
||||||
rocksdb::WriteBatchInternal::InsertInto(b, &cf_mems_default);
|
rocksdb::WriteBatchInternal::InsertInto(b, &cf_mems_default);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
@ -1879,7 +1879,7 @@ TEST(MemTableTest, Simple) {
|
|||||||
batch.Put(std::string("k2"), std::string("v2"));
|
batch.Put(std::string("k2"), std::string("v2"));
|
||||||
batch.Put(std::string("k3"), std::string("v3"));
|
batch.Put(std::string("k3"), std::string("v3"));
|
||||||
batch.Put(std::string("largekey"), std::string("vlarge"));
|
batch.Put(std::string("largekey"), std::string("vlarge"));
|
||||||
ColumnFamilyMemTablesDefault cf_mems_default(memtable, &options);
|
ColumnFamilyMemTablesDefault cf_mems_default(memtable);
|
||||||
ASSERT_TRUE(WriteBatchInternal::InsertInto(&batch, &cf_mems_default).ok());
|
ASSERT_TRUE(WriteBatchInternal::InsertInto(&batch, &cf_mems_default).ok());
|
||||||
|
|
||||||
Arena arena;
|
Arena arena;
|
||||||
|
@ -128,6 +128,8 @@ void MutableCFOptions::Dump(Logger* log) const {
|
|||||||
Log(log, "max_bytes_for_level_multiplier_additional: %s", result.c_str());
|
Log(log, "max_bytes_for_level_multiplier_additional: %s", result.c_str());
|
||||||
Log(log, " max_mem_compaction_level: %d",
|
Log(log, " max_mem_compaction_level: %d",
|
||||||
max_mem_compaction_level);
|
max_mem_compaction_level);
|
||||||
|
Log(log, " verify_checksums_in_compaction: %d",
|
||||||
|
verify_checksums_in_compaction);
|
||||||
Log(log, " max_sequential_skip_in_iterations: %" PRIu64,
|
Log(log, " max_sequential_skip_in_iterations: %" PRIu64,
|
||||||
max_sequential_skip_in_iterations);
|
max_sequential_skip_in_iterations);
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,7 @@ struct MutableCFOptions {
|
|||||||
max_bytes_for_level_multiplier_additional(
|
max_bytes_for_level_multiplier_additional(
|
||||||
options.max_bytes_for_level_multiplier_additional),
|
options.max_bytes_for_level_multiplier_additional),
|
||||||
max_mem_compaction_level(options.max_mem_compaction_level),
|
max_mem_compaction_level(options.max_mem_compaction_level),
|
||||||
|
verify_checksums_in_compaction(options.verify_checksums_in_compaction),
|
||||||
max_sequential_skip_in_iterations(
|
max_sequential_skip_in_iterations(
|
||||||
options.max_sequential_skip_in_iterations)
|
options.max_sequential_skip_in_iterations)
|
||||||
{
|
{
|
||||||
@ -69,6 +70,7 @@ struct MutableCFOptions {
|
|||||||
max_bytes_for_level_base(0),
|
max_bytes_for_level_base(0),
|
||||||
max_bytes_for_level_multiplier(0),
|
max_bytes_for_level_multiplier(0),
|
||||||
max_mem_compaction_level(0),
|
max_mem_compaction_level(0),
|
||||||
|
verify_checksums_in_compaction(false),
|
||||||
max_sequential_skip_in_iterations(0)
|
max_sequential_skip_in_iterations(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -114,6 +116,7 @@ struct MutableCFOptions {
|
|||||||
int max_bytes_for_level_multiplier;
|
int max_bytes_for_level_multiplier;
|
||||||
std::vector<int> max_bytes_for_level_multiplier_additional;
|
std::vector<int> max_bytes_for_level_multiplier_additional;
|
||||||
int max_mem_compaction_level;
|
int max_mem_compaction_level;
|
||||||
|
bool verify_checksums_in_compaction;
|
||||||
|
|
||||||
// Misc options
|
// Misc options
|
||||||
uint64_t max_sequential_skip_in_iterations;
|
uint64_t max_sequential_skip_in_iterations;
|
||||||
|
@ -185,6 +185,8 @@ bool ParseCompactionOptions(const std::string& name, const std::string& value,
|
|||||||
}
|
}
|
||||||
} else if (name == "max_mem_compaction_level") {
|
} else if (name == "max_mem_compaction_level") {
|
||||||
new_options->max_mem_compaction_level = ParseInt(value);
|
new_options->max_mem_compaction_level = ParseInt(value);
|
||||||
|
} else if (name == "verify_checksums_in_compaction") {
|
||||||
|
new_options->verify_checksums_in_compaction = ParseBoolean(name, value);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -330,9 +332,6 @@ bool GetColumnFamilyOptionsFromMap(
|
|||||||
ParseBoolean(o.first, o.second);
|
ParseBoolean(o.first, o.second);
|
||||||
} else if (o.first == "compaction_style") {
|
} else if (o.first == "compaction_style") {
|
||||||
new_options->compaction_style = ParseCompactionStyle(o.second);
|
new_options->compaction_style = ParseCompactionStyle(o.second);
|
||||||
} else if (o.first == "verify_checksums_in_compaction") {
|
|
||||||
new_options->verify_checksums_in_compaction =
|
|
||||||
ParseBoolean(o.first, o.second);
|
|
||||||
} else if (o.first == "compaction_options_universal") {
|
} else if (o.first == "compaction_options_universal") {
|
||||||
// TODO(ljin): add support
|
// TODO(ljin): add support
|
||||||
throw o.first;
|
throw o.first;
|
||||||
|
Loading…
Reference in New Issue
Block a user