diff options
Diffstat (limited to 'src/mongo/db/s/sharding_ddl_coordinator.cpp')
-rw-r--r-- | src/mongo/db/s/sharding_ddl_coordinator.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mongo/db/s/sharding_ddl_coordinator.cpp b/src/mongo/db/s/sharding_ddl_coordinator.cpp index 0f18a2685ac..77a43a70f53 100644 --- a/src/mongo/db/s/sharding_ddl_coordinator.cpp +++ b/src/mongo/db/s/sharding_ddl_coordinator.cpp @@ -181,11 +181,14 @@ SemiFuture<void> ShardingDDLCoordinator::run(std::shared_ptr<executor::ScopedTas // - The coordiantor failed with non-retryable error // - The node is stepping/shutting down // - // If the token is not cancelled we retry stepdown errors because it could have - // been generated by a remote node. + // If the token is not cancelled we retry because it could have been generated + // by a remote node. if (!status.isOK() && - (status.isA<ErrorCategory::NotPrimaryError>() || - status.isA<ErrorCategory::ShutdownError>()) && + (status.isA<ErrorCategory::CursorInvalidatedError>() || + status.isA<ErrorCategory::ShutdownError>() || + status.isA<ErrorCategory::RetriableError>() || + status.isA<ErrorCategory::CancellationError>() || + status == ErrorCodes::Interrupted) && !token.isCanceled()) { LOGV2_DEBUG(5656000, 1, |