diff options
Diffstat (limited to 'src/mongo/db/s/migration_coordinator.cpp')
-rw-r--r-- | src/mongo/db/s/migration_coordinator.cpp | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/src/mongo/db/s/migration_coordinator.cpp b/src/mongo/db/s/migration_coordinator.cpp index 22102845062..d72311a3369 100644 --- a/src/mongo/db/s/migration_coordinator.cpp +++ b/src/mongo/db/s/migration_coordinator.cpp @@ -235,21 +235,32 @@ void MigrationCoordinator::_abortMigrationOnDonorAndRecipient(OperationContext* 23899, 2, "Making abort decision durable", "migrationId"_attr = _migrationInfo.getId()); migrationutil::persistAbortDecision(opCtx, _migrationInfo.getId()); - LOGV2_DEBUG( - 23900, - 2, - "Bumping transaction number with lsid {lsid} and current txnNumber {currentTxnNumber} on " - "recipient shard {recipientShardId} for abort of collection {nss}", - "Bumping transaction number on recipient shard for abort", - "namespace"_attr = _migrationInfo.getNss(), - "recipientShardId"_attr = _migrationInfo.getRecipientShardId(), - "lsid"_attr = _migrationInfo.getLsid(), - "currentTxnNumber"_attr = _migrationInfo.getTxnNumber(), - "migrationId"_attr = _migrationInfo.getId()); - migrationutil::advanceTransactionOnRecipient(opCtx, - _migrationInfo.getRecipientShardId(), - _migrationInfo.getLsid(), - _migrationInfo.getTxnNumber()); + try { + LOGV2_DEBUG(23900, + 2, + "Bumping transaction number with lsid {lsid} and current txnNumber " + "{currentTxnNumber} on " + "recipient shard {recipientShardId} for abort of collection {nss}", + "Bumping transaction number on recipient shard for abort", + "namespace"_attr = _migrationInfo.getNss(), + "recipientShardId"_attr = _migrationInfo.getRecipientShardId(), + "lsid"_attr = _migrationInfo.getLsid(), + "currentTxnNumber"_attr = _migrationInfo.getTxnNumber(), + "migrationId"_attr = _migrationInfo.getId()); + migrationutil::advanceTransactionOnRecipient(opCtx, + _migrationInfo.getRecipientShardId(), + _migrationInfo.getLsid(), + _migrationInfo.getTxnNumber()); + } catch (const ExceptionFor<ErrorCodes::ShardNotFound>& exShardNotFound) { + LOGV2_DEBUG(4620231, + 1, + "Failed to advance transaction number on recipient shard for abort", + "namespace"_attr = _migrationInfo.getNss(), + "migrationId"_attr = _migrationInfo.getId(), + "recipientShardId"_attr = _migrationInfo.getRecipientShardId(), + "currentTxnNumber"_attr = _migrationInfo.getTxnNumber(), + "error"_attr = exShardNotFound); + } hangBeforeSendingAbortDecision.pauseWhileSet(); |