summaryrefslogtreecommitdiff
path: root/src/mongo/s/catalog/dist_lock_catalog.h
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@mongodb.com>2016-01-06 19:15:43 -0500
committerSpencer T Brody <spencer@mongodb.com>2016-01-12 17:23:29 -0500
commitf2d33bbcde359f5caf2e4e66559dcc46b164cd2b (patch)
treed86d87599f7373037aa93b31772448cd189078e7 /src/mongo/s/catalog/dist_lock_catalog.h
parent2b062b3e0eb72daf9f35a00c62d412ffacd6de19 (diff)
downloadmongo-f2d33bbcde359f5caf2e4e66559dcc46b164cd2b.tar.gz
SERVER-20037 After CatalogManager swap release distributed locks held by old CatalogManager
Diffstat (limited to 'src/mongo/s/catalog/dist_lock_catalog.h')
-rw-r--r--src/mongo/s/catalog/dist_lock_catalog.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mongo/s/catalog/dist_lock_catalog.h b/src/mongo/s/catalog/dist_lock_catalog.h
index 6ed57b8b016..cbb59f75f94 100644
--- a/src/mongo/s/catalog/dist_lock_catalog.h
+++ b/src/mongo/s/catalog/dist_lock_catalog.h
@@ -125,13 +125,20 @@ public:
/**
* Attempts to set the state of the lock document with lockSessionID to unlocked. Returns OK,
- * if at the end of this call it is determined that the lock is defintely not owned by the
+ * if at the end of this call it is determined that the lock is definitely not owned by the
* specified session (i.e., it is not owned at all or if it is owned by a different session).
* Otherwise, it returns an error status. Common errors include socket errors.
*/
virtual Status unlock(OperationContext* txn, const OID& lockSessionID) = 0;
/**
+ * Unlocks all distributed locks with the given owning process ID. Does not provide any
+ * indication as to how many locks were actually unlocked. So long as the update command runs
+ * successfully, returns OK, otherwise returns an error status.
+ */
+ virtual Status unlockAll(OperationContext* txn, const std::string& processID) = 0;
+
+ /**
* Get some information from the config server primary.
* Common status errors include socket errors.
*/