diff --git a/src/mongo/db/s/sharding_ddl_coordinator.cpp b/src/mongo/db/s/sharding_ddl_coordinator.cpp index 8f0962a726..b62a59448a 100644 --- a/src/mongo/db/s/sharding_ddl_coordinator.cpp +++ b/src/mongo/db/s/sharding_ddl_coordinator.cpp @@ -48,6 +48,7 @@ namespace mongo { MONGO_FAIL_POINT_DEFINE(hangBeforeRunningCoordinatorInstance); +MONGO_FAIL_POINT_DEFINE(hangAndThrowReplicationError); namespace { @@ -73,6 +74,10 @@ ShardingDDLCoordinator::~ShardingDDLCoordinator() { } bool ShardingDDLCoordinator::_removeDocument(OperationContext* opCtx) { + if (hangAndThrowReplicationError.shouldFail()) { + hangAndThrowReplicationError.pauseWhileSet(); + uasserted(ErrorCodes::WriteConcernFailed, "faking a waiting for replication timed out error"); + } DBDirectClient dbClient(opCtx); auto commandResponse = dbClient.runCommand([&] { write_ops::DeleteCommandRequest deleteOp(