summaryrefslogtreecommitdiff
path: root/src/mongo/db/db_raii.h
diff options
context:
space:
mode:
authorXiangyu Yao <xiangyu.yao@mongodb.com>2018-02-06 12:05:21 -0500
committerXiangyu Yao <xiangyu.yao@mongodb.com>2018-02-09 15:54:48 -0500
commite28c2f4732e490ed8efa6148d20d889dfd603028 (patch)
treed89d407bd23960ce30a68fe17b2be0992245bd80 /src/mongo/db/db_raii.h
parentb52615ee4e518bcb29bd0601d904fd9e059ce77e (diff)
downloadmongo-e28c2f4732e490ed8efa6148d20d889dfd603028.tar.gz
SERVER-32682 Use deadline-oriented mechanism for lock timeout
Diffstat (limited to 'src/mongo/db/db_raii.h')
-rw-r--r--src/mongo/db/db_raii.h32
1 files changed, 15 insertions, 17 deletions
diff --git a/src/mongo/db/db_raii.h b/src/mongo/db/db_raii.h
index 31b82a6685a..e2c4e6d2c09 100644
--- a/src/mongo/db/db_raii.h
+++ b/src/mongo/db/db_raii.h
@@ -54,7 +54,7 @@ public:
const NamespaceString& nss,
Top::LockType lockType,
boost::optional<int> dbProfilingLevel,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
/**
* Records stats about the current operation via Top.
@@ -85,19 +85,19 @@ class AutoGetCollectionForRead {
public:
AutoGetCollectionForRead(OperationContext* opCtx,
const NamespaceString& nss,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
AutoGetCollectionForRead(OperationContext* opCtx,
const StringData dbName,
const UUID& uuid,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
// TODO (SERVER-32367): Do not use this constructor, it is for internal purposes only
AutoGetCollectionForRead(OperationContext* opCtx,
const NamespaceStringOrUUID& nsOrUUID,
AutoGetCollection::ViewMode viewMode,
Lock::DBLock lock,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
Database* getDb() const {
return _autoColl->getDb();
@@ -133,24 +133,22 @@ class AutoGetCollectionForReadCommand {
public:
AutoGetCollectionForReadCommand(OperationContext* opCtx,
const NamespaceString& nss,
- Milliseconds timeoutMs = Milliseconds::max())
+ Date_t deadline = Date_t::max())
: AutoGetCollectionForReadCommand(
- opCtx, nss, AutoGetCollection::ViewMode::kViewsForbidden, timeoutMs) {}
+ opCtx, nss, AutoGetCollection::ViewMode::kViewsForbidden, deadline) {}
AutoGetCollectionForReadCommand(OperationContext* opCtx,
const NamespaceString& nss,
Lock::DBLock lock,
- Milliseconds timeoutMs = Milliseconds::max())
- : AutoGetCollectionForReadCommand(opCtx,
- nss,
- AutoGetCollection::ViewMode::kViewsForbidden,
- std::move(lock),
- timeoutMs) {}
+ Date_t deadline = Date_t::max())
+ : AutoGetCollectionForReadCommand(
+ opCtx, nss, AutoGetCollection::ViewMode::kViewsForbidden, std::move(lock), deadline) {
+ }
AutoGetCollectionForReadCommand(OperationContext* opCtx,
const StringData dbName,
const UUID& uuid,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
Database* getDb() const {
return _autoCollForRead->getDb();
@@ -164,13 +162,13 @@ protected:
AutoGetCollectionForReadCommand(OperationContext* opCtx,
const NamespaceString& nss,
AutoGetCollection::ViewMode viewMode,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
AutoGetCollectionForReadCommand(OperationContext* opCtx,
const NamespaceString& nss,
AutoGetCollection::ViewMode viewMode,
Lock::DBLock lock,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
// '_autoCollForRead' may need to be reset by AutoGetCollectionOrViewForReadCommand, so needs to
// be a boost::optional.
@@ -194,11 +192,11 @@ class AutoGetCollectionOrViewForReadCommand final : public AutoGetCollectionForR
public:
AutoGetCollectionOrViewForReadCommand(OperationContext* opCtx,
const NamespaceString& nss,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
AutoGetCollectionOrViewForReadCommand(OperationContext* opCtx,
const NamespaceString& nss,
Lock::DBLock lock,
- Milliseconds timeoutMs = Milliseconds::max());
+ Date_t deadline = Date_t::max());
ViewDefinition* getView() const {
return _view.get();