-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
ALL
-
Sharding 2022-10-17, Sharding 2022-12-12, Sharding NYC 2022-12-26, Sharding NYC 2023-01-09, Sharding NYC 2023-01-23
-
20
-
3
The ReshardingCoordinatorService persists the start and end times for phase transitions as part of its state document. However, during phase transitions, the coordinator is persisting these times before setting them.
The ReshardingRecipeintService has a similar issue when transitioning to applying and strict consistency.
It's worth noting that the recipient service will set the copying start time before writing this value to disk. However, this has the problem of leaving a potentially invalid start time in memory if persisting to disk fails.
This issue affects the following functions involving state transitions:
- _awaitAllDonorsReadyToDonate()
- _awaitAllRecipientsFinishedCloning()
- _awaitAllRecipientsFinishedApplying()
- _transitionToCloning()
- _transitionToApplying()
- _transitionToStrictConsistency()
For all of these functions, the timestamp for the start/end times should be chosen, written to disk, and then used to update the metrics in-memory.
- is related to
-
SERVER-70111 ShardingDataTransform Metrics Interface Does Not Indicate Returned Time Value May Be Invalid
- Closed