diff options
10 files changed, 6 insertions, 145 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.cpp index b4995e56dc4..342220766dc 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.cpp @@ -79,13 +79,6 @@ Status WiredTigerGlobalOptions::add(moe::OptionSection* options) { "WiredTiger storage engine custom " "configuration settings") .hidden(); - wiredTigerOptions - .addOptionChaining("storage.wiredTiger.engineConfig.maxCacheOverflowFileSizeGB", - "wiredTigerMaxCacheOverflowFileSizeGB", - moe::Double, - "Maximum amount of disk space to use for cache overflow; " - "Defaults to 0 (unbounded)") - .setDefault(moe::Value(0.0)); // WiredTiger collection options wiredTigerOptions @@ -149,18 +142,6 @@ Status WiredTigerGlobalOptions::store(const moe::Environment& params, params["storage.wiredTiger.engineConfig.configString"].as<std::string>(); log() << "Engine custom option: " << wiredTigerGlobalOptions.engineConfig; } - if (params.count("storage.wiredTiger.engineConfig.maxCacheOverflowFileSizeGB")) { - const auto val = - params["storage.wiredTiger.engineConfig.maxCacheOverflowFileSizeGB"].as<double>(); - const auto result = validateMaxCacheOverflowFileSizeGB(val); - if (result.isOK()) { - wiredTigerGlobalOptions.maxCacheOverflowFileSizeGB = val; - log() << "Max cache overflow file size custom option: " - << wiredTigerGlobalOptions.maxCacheOverflowFileSizeGB; - } else { - return result; - } - } // WiredTiger collection options if (params.count("storage.wiredTiger.collectionConfig.blockCompressor")) { @@ -187,13 +168,4 @@ Status WiredTigerGlobalOptions::store(const moe::Environment& params, return Status::OK(); } -Status WiredTigerGlobalOptions::validateMaxCacheOverflowFileSizeGB(double value) { - if (value != 0.0 && value < 0.1) { - return {ErrorCodes::BadValue, - "MaxCacheOverflowFileSizeGB must be either 0 (unbounded) or greater than 0.1."}; - } - - return Status::OK(); -} - } // namespace mongo diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.h b/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.h index a591b30e97e..2dda59efc14 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.h +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_global_options.h @@ -46,7 +46,6 @@ public: checkpointDelaySecs(0), statisticsLogDelaySecs(0), directoryForIndexes(false), - maxCacheOverflowFileSizeGB(0), useCollectionPrefixCompression(false), useIndexPrefixCompression(false){}; @@ -58,7 +57,6 @@ public: size_t statisticsLogDelaySecs; std::string journalCompressor; bool directoryForIndexes; - double maxCacheOverflowFileSizeGB; std::string engineConfig; std::string collectionBlockCompressor; @@ -67,8 +65,6 @@ public: bool useIndexPrefixCompression; std::string collectionConfig; std::string indexConfig; - - static Status validateMaxCacheOverflowFileSizeGB(double); }; extern WiredTigerGlobalOptions wiredTigerGlobalOptions; diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp index d3ff71e7284..4cdd0a42670 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp @@ -102,15 +102,12 @@ public: } } const bool ephemeral = false; - const auto maxCacheOverflowMB = - static_cast<size_t>(1024 * wiredTigerGlobalOptions.maxCacheOverflowFileSizeGB); WiredTigerKVEngine* kv = new WiredTigerKVEngine(getCanonicalName().toString(), params.dbpath, getGlobalServiceContext()->getFastClockSource(), wiredTigerGlobalOptions.engineConfig, cacheMB, - maxCacheOverflowMB, params.dur, ephemeral, params.repair, @@ -120,8 +117,6 @@ public: // Intentionally leaked. new WiredTigerServerStatusSection(kv); new WiredTigerEngineRuntimeConfigParameter(kv); - new WiredTigerMaxCacheOverflowSizeGBParameter( - kv, wiredTigerGlobalOptions.maxCacheOverflowFileSizeGB); KVStorageEngineOptions options; options.directoryPerDB = params.directoryperdb; diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp index 53fd7136d58..7256a932ab5 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp @@ -382,7 +382,6 @@ WiredTigerKVEngine::WiredTigerKVEngine(const std::string& canonicalName, ClockSource* cs, const std::string& extraOpenOptions, size_t cacheSizeMB, - size_t maxCacheOverflowFileSizeMB, bool durable, bool ephemeral, bool repair, @@ -415,7 +414,6 @@ WiredTigerKVEngine::WiredTigerKVEngine(const std::string& canonicalName, std::stringstream ss; ss << "create,"; ss << "cache_size=" << cacheSizeMB << "M,"; - ss << "cache_overflow=(file_max=" << maxCacheOverflowFileSizeMB << "M),"; ss << "session_max=20000,"; ss << "eviction=(threads_min=4,threads_max=4),"; ss << "config_base=false,"; diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h index c7be59d8b6b..541d42b8f9a 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h @@ -62,8 +62,7 @@ public: const std::string& path, ClockSource* cs, const std::string& extraOpenOptions, - size_t cacheSizeMB, - size_t maxCacheOverflowFileSizeMB, + size_t cacheSizeGB, bool durable, bool ephemeral, bool repair, diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp index 9f081b717a8..b73893695d4 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine_test.cpp @@ -47,16 +47,8 @@ namespace { class WiredTigerKVHarnessHelper : public KVHarnessHelper { public: WiredTigerKVHarnessHelper() : _dbpath("wt-kv-harness") { - _engine.reset(new WiredTigerKVEngine(kWiredTigerEngineName, - _dbpath.path(), - _cs.get(), - "", - 1, - 0, - false, - false, - false, - false)); + _engine.reset(new WiredTigerKVEngine( + kWiredTigerEngineName, _dbpath.path(), _cs.get(), "", 1, false, false, false, false)); } virtual ~WiredTigerKVHarnessHelper() { @@ -65,16 +57,8 @@ public: virtual KVEngine* restartEngine() { _engine.reset(NULL); - _engine.reset(new WiredTigerKVEngine(kWiredTigerEngineName, - _dbpath.path(), - _cs.get(), - "", - 1, - 0, - false, - false, - false, - false)); + _engine.reset(new WiredTigerKVEngine( + kWiredTigerEngineName, _dbpath.path(), _cs.get(), "", 1, false, false, false, false)); return _engine.get(); } diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.cpp index b929317f22d..f34bbb16026 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.cpp @@ -41,37 +41,6 @@ namespace mongo { using std::string; -namespace { - -Status applyMaxCacheOverflowSizeGBParameter(WiredTigerMaxCacheOverflowSizeGBParameter& param, - double value) { - if (value != 0.0 && value < 0.1) { - return {ErrorCodes::BadValue, - "MaxCacheOverflowFileSizeGB must be either 0 (unbounded) or greater than 0.1."}; - } - - const auto valueMB = static_cast<size_t>(1024 * value); - - log() << "Reconfiguring WiredTiger max cache overflow size with value: \"" << valueMB << "MB\'"; - - invariant(param._data.second); - int ret = param._data.second->reconfigure( - std::string(str::stream() << "cache_overflow=(file_max=" << valueMB << "M)").c_str()); - if (ret != 0) { - string result = - (str::stream() << "WiredTiger reconfiguration failed with error code (" << ret << "): " - << wiredtiger_strerror(ret)); - error() << result; - - return Status(ErrorCodes::BadValue, result); - } - - param._data.first = value; - return Status::OK(); -} - -} // namespace - WiredTigerEngineRuntimeConfigParameter::WiredTigerEngineRuntimeConfigParameter( WiredTigerKVEngine* engine) : ServerParameter( @@ -126,40 +95,4 @@ Status WiredTigerEngineRuntimeConfigParameter::setFromString(const std::string& _currentValue = str; return Status::OK(); } - -WiredTigerMaxCacheOverflowSizeGBParameter::WiredTigerMaxCacheOverflowSizeGBParameter( - WiredTigerKVEngine* engine, double value) - : ServerParameter( - ServerParameterSet::getGlobal(), "wiredTigerMaxCacheOverflowSizeGB", false, true), - _data(value, engine) {} - -void WiredTigerMaxCacheOverflowSizeGBParameter::append(OperationContext* opCtx, - BSONObjBuilder& b, - const std::string& name) { - b << name << _data.first; } - -Status WiredTigerMaxCacheOverflowSizeGBParameter::set(const BSONElement& element) { - if (element.type() == String) { - return setFromString(element.valuestrsafe()); - } - - double value; - if (!element.coerce(&value)) { - return {ErrorCodes::BadValue, "MaxCacheOverflowFileSizeGB must be a numeric value."}; - } - - return applyMaxCacheOverflowSizeGBParameter(*this, value); -} - -Status WiredTigerMaxCacheOverflowSizeGBParameter::setFromString(const std::string& str) { - double value; - const auto status = parseNumberFromString(str, &value); - if (!status.isOK()) { - return status; - } - - return applyMaxCacheOverflowSizeGBParameter(*this, value); -} - -} // namespace mongo diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.h b/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.h index f506710354c..1c622c6ab0a 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.h +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_parameters.h @@ -59,17 +59,4 @@ private: // starts out as the empty string. std::string _currentValue; }; - -class WiredTigerMaxCacheOverflowSizeGBParameter : public ServerParameter { - MONGO_DISALLOW_COPYING(WiredTigerMaxCacheOverflowSizeGBParameter); - -public: - WiredTigerMaxCacheOverflowSizeGBParameter(WiredTigerKVEngine* engine, double value); - - virtual void append(OperationContext* opCtx, BSONObjBuilder& b, const std::string& name); - virtual Status set(const BSONElement& newValueElement); - virtual Status setFromString(const std::string& str); - - std::pair<double, WiredTigerKVEngine*> _data; -}; } diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_prefixed_record_store_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_prefixed_record_store_test.cpp index 48ef200aed5..807dbab852a 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_prefixed_record_store_test.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_prefixed_record_store_test.cpp @@ -76,7 +76,6 @@ public: _cs.get(), "", 1, - 0, false, false, false, diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_standard_record_store_test.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_standard_record_store_test.cpp index 0266a38c900..ff510ccdb25 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_standard_record_store_test.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_standard_record_store_test.cpp @@ -70,8 +70,7 @@ class WiredTigerHarnessHelper final : public RecordStoreHarnessHelper { public: WiredTigerHarnessHelper() : _dbpath("wt_test"), - _engine( - kWiredTigerEngineName, _dbpath.path(), &_cs, "", 1, 0, false, false, false, false) {} + _engine(kWiredTigerEngineName, _dbpath.path(), &_cs, "", 1, false, false, false, false) {} WiredTigerHarnessHelper(StringData extraStrings) : _dbpath("wt_test"), @@ -80,7 +79,6 @@ public: &_cs, extraStrings.toString(), 1, - 0, false, false, false, |