summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp')
-rw-r--r--src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp b/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
index 2f77383c745..19b2c07def0 100644
--- a/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
+++ b/src/mongo/db/s/config/sharding_catalog_manager_database_operations.cpp
@@ -233,13 +233,14 @@ DatabaseType ShardingCatalogManager::createDatabase(
// - a "commitSuccessful" notification after completing the write into config.databases
// will allow change streams to stop collecting events on the namespace created from
// shards != resolvedPrimaryShard.
+ const auto allShards = Grid::get(opCtx)->shardRegistry()->getAllShardIds(opCtx);
{
DatabasesAdded prepareCommitEvent(
- {DatabaseNameUtil::deserialize(boost::none, dbName)}, false /*areImported*/);
- prepareCommitEvent.setPhase(CommitPhaseEnum::kPrepare);
+ {DatabaseNameUtil::deserialize(boost::none, dbName)},
+ false /*areImported*/,
+ CommitPhaseEnum::kPrepare);
prepareCommitEvent.setPrimaryShard(resolvedPrimaryShard->getId());
- uassertStatusOK(_notifyClusterOnNewDatabases(
- opCtx, prepareCommitEvent, {resolvedPrimaryShard->getId()}));
+ uassertStatusOK(_notifyClusterOnNewDatabases(opCtx, prepareCommitEvent, allShards));
}
const auto transactionChain = [db](const txn_api::TransactionClient& txnClient,
@@ -279,10 +280,11 @@ DatabaseType ShardingCatalogManager::createDatabase(
hangBeforeNotifyingCreateDatabaseCommitted.pauseWhileSet();
DatabasesAdded commitCompletedEvent(
- {DatabaseNameUtil::deserialize(boost::none, dbName)}, false /*areImported*/);
- commitCompletedEvent.setPhase(CommitPhaseEnum::kSuccessful);
- const auto notificationOutcome = _notifyClusterOnNewDatabases(
- opCtx, commitCompletedEvent, {resolvedPrimaryShard->getId()});
+ {DatabaseNameUtil::deserialize(boost::none, dbName)},
+ false /*areImported*/,
+ CommitPhaseEnum::kSuccessful);
+ const auto notificationOutcome =
+ _notifyClusterOnNewDatabases(opCtx, commitCompletedEvent, allShards);
if (!notificationOutcome.isOK()) {
LOGV2_WARNING(7175500,
"Unable to send out notification of successful createDatabase",