-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
v5.0
-
Sharding 2021-06-14
-
1
This ticket tracks only the creation of IDL structs and their placing inside the correct IDL documents. It will be best to do this in four code review patches, one to create the ReshardingMetricsDuration type, and three more for each resharding machine.
First, create a ReshardingMetricsTimeInterval struct inside common_types.idl. This struct should be strict:false and should contain two optional fields, a timestamp start and a timestamp end.
Then, place instances of this struct in these places, to track these time intervals. You will see that they match with time intervals on the ReshardingMetrics class.
Coordinator document:
- operationRuntime
Recipient Document:
- operationRuntime
- documentCopy
- oplogEntriesApplication
Donor document:
- operationRuntime
- criticalSection
(If you think you have better/more fitting names for the structs, feel free to comment or reach out to Blake Oler)
- causes
-
SERVER-58304 "metrics" field in resharding's donor, recipient, and coordinator documents isn't marked as optional
- Closed
- is depended on by
-
SERVER-53913 ReshardingDonorService instances to load metrics state upon instantiation
- Closed
-
SERVER-57094 Plumb through duration timestamps in resharding state machines
- Closed