diff options
Diffstat (limited to 'src/mongo/db/s/shard_server_op_observer.cpp')
-rw-r--r-- | src/mongo/db/s/shard_server_op_observer.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/mongo/db/s/shard_server_op_observer.cpp b/src/mongo/db/s/shard_server_op_observer.cpp index 43653b40a2a..9969d9c9f30 100644 --- a/src/mongo/db/s/shard_server_op_observer.cpp +++ b/src/mongo/db/s/shard_server_op_observer.cpp @@ -320,11 +320,9 @@ void ShardServerOpObserver::onUpdate(OperationContext* opCtx, const OplogUpdateE if (setField.hasField(ShardDatabaseType::enterCriticalSectionCounter.name())) { AutoGetDb autoDb(opCtx, db, MODE_X); - if (autoDb.getDb()) { - auto& dss = DatabaseShardingState::get(autoDb.getDb()); - auto dssLock = DatabaseShardingState::DSSLock::lockExclusive(opCtx, &dss); - dss.setDbVersion(opCtx, boost::none, dssLock); - } + auto dss = DatabaseShardingState::get(opCtx, db); + auto dssLock = DatabaseShardingState::DSSLock::lockExclusive(opCtx, dss); + dss->setDbVersion(opCtx, boost::none, dssLock); } } } @@ -368,11 +366,9 @@ void ShardServerOpObserver::onDelete(OperationContext* opCtx, bsonExtractStringField(documentKey, ShardDatabaseType::name.name(), &deletedDatabase)); AutoGetDb autoDb(opCtx, deletedDatabase, MODE_X); - if (autoDb.getDb()) { - auto& dss = DatabaseShardingState::get(autoDb.getDb()); - auto dssLock = DatabaseShardingState::DSSLock::lockExclusive(opCtx, &dss); - dss.setDbVersion(opCtx, boost::none, dssLock); - } + auto dss = DatabaseShardingState::get(opCtx, deletedDatabase); + auto dssLock = DatabaseShardingState::DSSLock::lockExclusive(opCtx, dss); + dss->setDbVersion(opCtx, boost::none, dssLock); } if (nss == NamespaceString::kServerConfigurationNamespace) { |