diff options
author | Mathias Stearn <mathias@10gen.com> | 2017-09-27 15:35:50 -0400 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2017-09-29 18:20:43 -0400 |
commit | 973a234e9adc9c093e3820b5e254142602faf53f (patch) | |
tree | 0554ff485c924b216ada36305d46130d448ccd7e /src | |
parent | 6f1e6167058a909a22988a4d0bc7812fd4bd1abe (diff) | |
download | mongo-973a234e9adc9c093e3820b5e254142602faf53f.tar.gz |
SERVER-31291 Use fast clock source to rate-limit retrying WT drops
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp | 5 | ||||
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp index dc0fa530444..35c11b6f470 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp @@ -321,6 +321,7 @@ WiredTigerKVEngine::WiredTigerKVEngine(const std::string& canonicalName, bool repair, bool readOnly) : _eventHandler(WiredTigerUtil::defaultEventHandlers()), + _clockSource(cs), _canonicalName(canonicalName), _path(path), _sizeStorerSyncTracker(cs, 100000, Seconds(60)), @@ -340,7 +341,7 @@ WiredTigerKVEngine::WiredTigerKVEngine(const std::string& canonicalName, } } - _previousCheckedDropsQueued = Date_t::now(); + _previousCheckedDropsQueued = _clockSource->now(); std::stringstream ss; ss << "create,"; @@ -834,7 +835,7 @@ std::list<WiredTigerCachedCursor> WiredTigerKVEngine::filterCursorsWithQueuedDro } bool WiredTigerKVEngine::haveDropsQueued() const { - Date_t now = Date_t::now(); + Date_t now = _clockSource->now(); Milliseconds delta = now - _previousCheckedDropsQueued; if (!_readOnly && _sizeStorerSyncTracker.intervalHasElapsed()) { diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h index e08fa53f2c6..55cb196a047 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.h @@ -242,6 +242,7 @@ private: WT_CONNECTION* _conn; WT_EVENT_HANDLER _eventHandler; std::unique_ptr<WiredTigerSessionCache> _sessionCache; + ClockSource* const _clockSource; // Mutex to protect use of _oplogManager and _oplogManagerCount by this instance of KV // engine. |