Details
-
Bug
-
Resolution: Fixed
-
Major - P3
-
None
-
None
-
None
-
Fully Compatible
-
ALL
-
Server Serverless 2022-04-18
Description
In the following scenario :
- ShardSplitDonorService commits but steps down before being marked for garbage collection.
- Step up with local state as `kCommitted` but there is no longer recipient nodes in the set.
The Replica Set Monitor fails to monitor the recipient nodes because they were removed from the config and the recipient connection string can no longer be built which results in connection failures such as :
[js_test:shard_split_startup_recovery] d20021| {"t":
{"$date":"2022-03-29T21:50:48.952+00:00"},"s":"I", "c":"-", "id":4333222, "ctx":"ShardSplitDonorService-3","msg":"RSM received error response","attr":{"host":"ip-10-122-14-181:20023","error":"HostUnreachable: Connection re fused","replicaSet":"","response":{}}}
While this was observed in the `kCommitted` case, this can also happen while the donor waits for the recipient to accept the split. If at this point an election occurs and a donor secondary steps up to continue the split operation, it will not observe the split acceptance since the connection string cannot be built.