Reconsider uses of shared pointer to retry strategy in async_rpc and AsyncTry

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Workload Resilience
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Shared ownership makes it easy to misuse retry strategies. This is because it allows sending the same retry strategy to an implementation of the loops.

      Core loop implementation such as AsyncTry and runWithRetryStrategy should take the retry strategy by unique_ptr or by value to enforce this invariant with ownership transfer.

      This should prevent most misuse described by SERVER-118489

            Assignee:
            Unassigned
            Reporter:
            Guillaume Racicot
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: