diff options
author | sdong <siying.d@fb.com> | 2015-10-19 13:07:05 -0700 |
---|---|---|
committer | sdong <siying.d@fb.com> | 2015-10-19 17:31:13 -0700 |
commit | 6d6776f6b8b093a1ad24871e4ab589e441edbca3 (patch) | |
tree | 42e3e457511d5f3b316acfc32db04da2eede0000 /db/version_builder.cc | |
parent | 90228bb0888e421d2809cfb64ade7cb351e008ac (diff) |
Log more information for the add file with overlapping range failure
Summary: crash_test sometimes fails, hitting the add file overlapping assert. Add information in info logs help us to find the bug.
Test Plan: Run all test suites. Do some manual tests to make sure printing is correct.
Reviewers: kradhakrishnan, yhchiang, anthony, IslamAbdelRahman, rven, igor
Reviewed By: igor
Subscribers: leveldb, dhruba
Differential Revision: https://reviews.facebook.net/D49017
Diffstat (limited to 'db/version_builder.cc')
-rw-r--r-- | db/version_builder.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/db/version_builder.cc b/db/version_builder.cc index 7444bfc5c..7e6358e5f 100644 --- a/db/version_builder.cc +++ b/db/version_builder.cc @@ -82,6 +82,7 @@ class VersionBuilder::Rep { }; const EnvOptions& env_options_; + Logger* info_log_; TableCache* table_cache_; VersionStorageInfo* base_vstorage_; LevelState* levels_; @@ -89,9 +90,10 @@ class VersionBuilder::Rep { FileComparator level_nonzero_cmp_; public: - Rep(const EnvOptions& env_options, TableCache* table_cache, + Rep(const EnvOptions& env_options, Logger* info_log, TableCache* table_cache, VersionStorageInfo* base_vstorage) : env_options_(env_options), + info_log_(info_log), table_cache_(table_cache), base_vstorage_(base_vstorage) { levels_ = new LevelState[base_vstorage_->num_levels()]; @@ -335,15 +337,16 @@ class VersionBuilder::Rep { if (levels_[level].deleted_files.count(f->fd.GetNumber()) > 0) { // File is deleted: do nothing } else { - vstorage->AddFile(level, f); + vstorage->AddFile(level, f, info_log_); } } }; VersionBuilder::VersionBuilder(const EnvOptions& env_options, TableCache* table_cache, - VersionStorageInfo* base_vstorage) - : rep_(new Rep(env_options, table_cache, base_vstorage)) {} + VersionStorageInfo* base_vstorage, + Logger* info_log) + : rep_(new Rep(env_options, info_log, table_cache, base_vstorage)) {} VersionBuilder::~VersionBuilder() { delete rep_; } void VersionBuilder::CheckConsistency(VersionStorageInfo* vstorage) { rep_->CheckConsistency(vstorage); |