diff options
author | Antonio Fuschetto <antonio.fuschetto@mongodb.com> | 2022-10-07 10:12:10 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-10-07 13:27:54 +0000 |
commit | 83de4afb15a616fb8f40bf329ae17b65ae2c130a (patch) | |
tree | 0f1db0356cad31bd9ba0a23eb267887b52eb01f2 | |
parent | 6b3c097a0d8a7949042013929e28b59908f3b02b (diff) | |
download | mongo-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.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/s/shard_filtering_metadata_refresh.cpp | 2 |
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", |