summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/initial_syncer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/initial_syncer.cpp')
-rw-r--r--src/mongo/db/repl/initial_syncer.cpp31
1 files changed, 14 insertions, 17 deletions
diff --git a/src/mongo/db/repl/initial_syncer.cpp b/src/mongo/db/repl/initial_syncer.cpp
index 4b1c882b1eb..1e13256dcaf 100644
--- a/src/mongo/db/repl/initial_syncer.cpp
+++ b/src/mongo/db/repl/initial_syncer.cpp
@@ -1096,25 +1096,22 @@ void InitialSyncer::_rollbackCheckerCheckForRollbackCallback(
// Set UUIDs for all non-replicated collections on secondaries. See comment in
// ReplicationCoordinatorExternalStateImpl::initializeReplSetStorage() for the explanation of
- // why we do this and why it is not necessary for sharded clusters.
- if (serverGlobalParams.clusterRole != ClusterRole::ShardServer) {
- const NamespaceString nss("admin", "system.version");
- auto opCtx = makeOpCtx();
- auto statusWithUUID = _storage->getCollectionUUID(opCtx.get(), nss);
- if (!statusWithUUID.isOK()) {
- // If the admin database does not exist, we intentionally fail initial sync. As part of
- // SERVER-29448, we disallow dropping the admin database, so failing here is fine.
- onCompletionGuard->setResultAndCancelRemainingWork_inlock(lock,
- statusWithUUID.getStatus());
+ // why we do this.
+ const NamespaceString nss("admin", "system.version");
+ auto opCtx = makeOpCtx();
+ auto statusWithUUID = _storage->getCollectionUUID(opCtx.get(), nss);
+ if (!statusWithUUID.isOK()) {
+ // If the admin database does not exist, we intentionally fail initial sync. As part of
+ // SERVER-29448, we disallow dropping the admin database, so failing here is fine.
+ onCompletionGuard->setResultAndCancelRemainingWork_inlock(lock, statusWithUUID.getStatus());
+ return;
+ }
+ if (statusWithUUID.getValue()) {
+ auto schemaStatus = _storage->upgradeUUIDSchemaVersionNonReplicated(opCtx.get());
+ if (!schemaStatus.isOK()) {
+ onCompletionGuard->setResultAndCancelRemainingWork_inlock(lock, schemaStatus);
return;
}
- if (statusWithUUID.getValue()) {
- auto schemaStatus = _storage->upgradeUUIDSchemaVersionNonReplicated(opCtx.get());
- if (!schemaStatus.isOK()) {
- onCompletionGuard->setResultAndCancelRemainingWork_inlock(lock, schemaStatus);
- return;
- }
- }
}
// Success!