diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2022-09-13 09:23:07 +0200 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-15 08:12:08 +0000 |
commit | fa920335ed6a41efa417e5c41940cd28a4a36829 (patch) | |
tree | eb7454e4661ce8e3d38c08a12b2609eea926edbb /src/mongo/db/s/config/sharding_catalog_manager_zone_operations.cpp | |
parent | d8901a2835d3f464d394631d85dc7aa9493fc095 (diff) | |
download | mongo-fa920335ed6a41efa417e5c41940cd28a4a36829.tar.gz |
SERVER-69523 Only allow METADATA and MUTEX lock acqisitions with OpContext
This makes mutex acquisitions both interruptible and allows the lock
manager to be able to inspect the lock acqusitions so far.
Diffstat (limited to 'src/mongo/db/s/config/sharding_catalog_manager_zone_operations.cpp')
-rw-r--r-- | src/mongo/db/s/config/sharding_catalog_manager_zone_operations.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_zone_operations.cpp b/src/mongo/db/s/config/sharding_catalog_manager_zone_operations.cpp index e8739c4ec62..049a73d2cf4 100644 --- a/src/mongo/db/s/config/sharding_catalog_manager_zone_operations.cpp +++ b/src/mongo/db/s/config/sharding_catalog_manager_zone_operations.cpp @@ -213,7 +213,7 @@ Status checkForTimeseriesTimeFieldKeyRange(const ChunkRange& range, StringData t Status ShardingCatalogManager::addShardToZone(OperationContext* opCtx, const std::string& shardName, const std::string& zoneName) { - Lock::ExclusiveLock lk(opCtx, opCtx->lockState(), _kZoneOpLock); + Lock::ExclusiveLock lk(opCtx, _kZoneOpLock); auto updateStatus = Grid::get(opCtx)->catalogClient()->updateConfigDocument( opCtx, @@ -238,7 +238,7 @@ Status ShardingCatalogManager::addShardToZone(OperationContext* opCtx, Status ShardingCatalogManager::removeShardFromZone(OperationContext* opCtx, const std::string& shardName, const std::string& zoneName) { - Lock::ExclusiveLock lk(opCtx, opCtx->lockState(), _kZoneOpLock); + Lock::ExclusiveLock lk(opCtx, _kZoneOpLock); auto configShard = Grid::get(opCtx)->shardRegistry()->getConfigShard(); const NamespaceString shardNS(NamespaceString::kConfigsvrShardsNamespace); @@ -316,7 +316,7 @@ void ShardingCatalogManager::assignKeyRangeToZone(OperationContext* opCtx, auto configServer = Grid::get(opCtx)->shardRegistry()->getConfigShard(); - Lock::ExclusiveLock lk(opCtx, opCtx->lockState(), _kZoneOpLock); + Lock::ExclusiveLock lk(opCtx, _kZoneOpLock); auto zoneDoc = uassertStatusOK(configServer->exhaustiveFindOnConfig( opCtx, @@ -375,7 +375,7 @@ void ShardingCatalogManager::removeKeyRangeFromZone(OperationContext* opCtx, const ChunkRange& givenRange) { auto configServer = Grid::get(opCtx)->shardRegistry()->getConfigShard(); - Lock::ExclusiveLock lk(opCtx, opCtx->lockState(), _kZoneOpLock); + Lock::ExclusiveLock lk(opCtx, _kZoneOpLock); ChunkRange actualRange = givenRange; KeyPattern keyPattern; |