summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Fuschetto <antonio.fuschetto@mongodb.com>2022-10-07 10:12:10 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-10-07 13:27:54 +0000
commit83de4afb15a616fb8f40bf329ae17b65ae2c130a (patch)
tree0f1db0356cad31bd9ba0a23eb267887b52eb01f2
parent6b3c097a0d8a7949042013929e28b59908f3b02b (diff)
downloadmongo-83de4afb15a616fb8f40bf329ae17b65ae2c130a.tar.gz
SERVER-69898 Wait for the critical section catch-up phase before refreshing the DB version
-rw-r--r--src/mongo/db/s/flush_database_cache_updates_command.cpp2
-rw-r--r--src/mongo/db/s/shard_filtering_metadata_refresh.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/mongo/db/s/flush_database_cache_updates_command.cpp b/src/mongo/db/s/flush_database_cache_updates_command.cpp
index d1310e5f25f..4805e8c723f 100644
--- a/src/mongo/db/s/flush_database_cache_updates_command.cpp
+++ b/src/mongo/db/s/flush_database_cache_updates_command.cpp
@@ -178,7 +178,7 @@ public:
auto dssLock = DatabaseShardingState::DSSLock::lockShared(opCtx, dss);
if (auto criticalSectionSignal = dss->getCriticalSectionSignal(
- ShardingMigrationCriticalSection::kRead, dssLock)) {
+ ShardingMigrationCriticalSection::kWrite, dssLock)) {
oss.setMigrationCriticalSectionSignal(criticalSectionSignal);
}
}
diff --git a/src/mongo/db/s/shard_filtering_metadata_refresh.cpp b/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
index 37aac84a672..49f03ce476b 100644
--- a/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
+++ b/src/mongo/db/s/shard_filtering_metadata_refresh.cpp
@@ -75,7 +75,7 @@ bool joinDbVersionOperation(OperationContext* opCtx,
invariant(dssLock->has_value());
if (auto critSect =
- dss->getCriticalSectionSignal(ShardingMigrationCriticalSection::kRead, **dssLock)) {
+ dss->getCriticalSectionSignal(ShardingMigrationCriticalSection::kWrite, **dssLock)) {
LOGV2_DEBUG(6697201,
2,
"Waiting for exit from the critical section",