diff options
Diffstat (limited to 'src/mongo/db/repl/tenant_migration_access_blocker_util.cpp')
-rw-r--r-- | src/mongo/db/repl/tenant_migration_access_blocker_util.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/repl/tenant_migration_access_blocker_util.cpp b/src/mongo/db/repl/tenant_migration_access_blocker_util.cpp index 36573d870d4..24b79028653 100644 --- a/src/mongo/db/repl/tenant_migration_access_blocker_util.cpp +++ b/src/mongo/db/repl/tenant_migration_access_blocker_util.cpp @@ -92,6 +92,13 @@ TenantMigrationDonorDocument parseDonorStateDocument(const BSONObj& doc) { switch (donorStateDoc.getState()) { case TenantMigrationDonorStateEnum::kUninitialized: break; + case TenantMigrationDonorStateEnum::kAbortingIndexBuilds: + uassert(ErrorCodes::BadValue, + errmsg, + !donorStateDoc.getBlockTimestamp() && !donorStateDoc.getCommitOrAbortOpTime() && + !donorStateDoc.getAbortReason() && + !donorStateDoc.getStartMigrationDonorTimestamp()); + break; case TenantMigrationDonorStateEnum::kDataSync: uassert(ErrorCodes::BadValue, errmsg, @@ -232,6 +239,7 @@ void recoverTenantMigrationAccessBlockers(OperationContext* opCtx) { .add(doc.getTenantId(), mtab); switch (doc.getState()) { + case TenantMigrationDonorStateEnum::kAbortingIndexBuilds: case TenantMigrationDonorStateEnum::kDataSync: break; case TenantMigrationDonorStateEnum::kBlocking: @@ -252,7 +260,7 @@ void recoverTenantMigrationAccessBlockers(OperationContext* opCtx) { } mtab->setAbortOpTime(opCtx, doc.getCommitOrAbortOpTime().get()); break; - default: + case TenantMigrationDonorStateEnum::kUninitialized: MONGO_UNREACHABLE; } return true; |