* Revert "Revert "Refactor: ClusterController driving cluster-recovery state machine""
Major changes includes:
1. Re-revert Sequencer refactor commits listed below (in listed order):
1.a. This reverts commit bb17e194d9.
1.b. This reverts commit d174bb2e06.
1.c. This reverts commit 30b05b469c.
2. Update Status.actor to track ClusterController interface to track
recovery status.
3. Introduce a ServerKnob to define "cluster recovery trace event"
prefix; for now keeping it as "Master", however, it should allow
smooth transition to "Cluster" prefix as it seems more appropriate.
In this PR, the blob manager now recruits blob workers
(via communication with the cluster controller). Blob workers
are onboarded as blob worker processes enter the cluster.
Changes:
storageserver.actor.cpp: Use counters to capture (a) how fast a storage
server is catching up in versions and (b) the version fetch frequency.
Status.actor.cpp: Report the captured counter metrics as part of storage
metrics.
Changes:
Schemas.cpp: Extend the JSON schema to report whether the cluster is
bounceable and if not, report the reason for why it is not bounceable.
Status.actor.cpp: Extend recoveryStateStatusFetcher() to populate the
bounce related field(s).
mr-status-json-schemas.rst.inc: Update the schema to reflect the change
made in Schemas.cpp.
release-notes-700.rst: Add a note about the new status fields in "Status"
section.
Changes:
Schemas.cpp: Extend the JSON schema to include a new field that reports
the number of seconds since last full recovery.
Status.actor.cpp: Extend recoveryStateStatusFetcher() to populate the
new field that has been added to Schemas.cpp.
mr-status-json-schemas.rst.inc: Update the schema to reflect the change
made in Schemas.cpp.
Changes:
Schemas.cpp:
- Extend JSON schema to include aggregated information about
CommitBatchingWindowSize samples.
Status.actor.cpp:
- Extend getStorageServersAndMetrics() to gather metrics about
CommitBatchingWindowSize.
- Extend CommitProxy AddRole() to populate the status-JSON object
with the metrics about CommitBatchingWindowSize.