diff options
-rw-r--r-- | src/mongo/db/s/shard_key_util.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/s/sharding_ddl_coordinator.cpp | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/mongo/db/s/shard_key_util.cpp b/src/mongo/db/s/shard_key_util.cpp index 1f78b3f8cd4..8641111c168 100644 --- a/src/mongo/db/s/shard_key_util.cpp +++ b/src/mongo/db/s/shard_key_util.cpp @@ -219,7 +219,7 @@ void ValidationBehaviorsShardCollection::verifyUsefulNonMultiKeyIndex( "admin", BSON(kCheckShardingIndexCmdName << nss.ns() << kKeyPatternField << proposedKey), res); - uassert(ErrorCodes::OperationFailed, res["errmsg"].str(), success); + uassert(ErrorCodes::InvalidOptions, res["errmsg"].str(), success); } void ValidationBehaviorsShardCollection::verifyCanCreateShardKeyIndex( 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, |