-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Cluster Scalability
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The current resharding implementation stores participant-specific fields in both commands and state documents, which can lead to mismatches and duplication. Introduce a refactored struct hierarchy with immutable options scoped to each participant role:
- CommonReshardingMetadata – Immutable options relevant to all participants.
- ReshardingRecipientOptions – Immutable options relevant only to recipients.
- ReshardingDonorOptions – Immutable options relevant only to donors.
- ReshardingCoordinatorOptions – Contains both ReshardingRecipientOptions and ReshardingDonorOptions (as inlined chained structs) plus additional coordinator-specific options.
Additionally, move telemetryCtx into CommonReshardingMetadata since it is applicable across all roles. See this thread for more details.