Unify resharding coordinator cancellation with RetryUntilMajorityCommit POS retry helpers

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      RetryUntilMajorityCommit::untilStepdownOrSuccess is the intended API, but it is currently limited to callers that have a CancelState object. The resharding coordinator uses CoordinatorCancellationTokenHolder (_ctHolder), so introducing a separate CancelState would require maintaining two parallel cancellation abstractions for the same coordinator instance. That makes RetryUntilMajorityCommit difficult to use in this context and led to the introduction of a separate resharding::runUntilSuccessOrStepdown helper.

      We should either extend RetryUntilMajorityCommit so resharding can use it without a separate CancelState (for example, via an adapter from _ctHolder or a token-based constructor), or refactor resharding's _ctHolder so it can use the existing helper directly.

            Assignee:
            Unassigned
            Reporter:
            Kruti Shah
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: