Cluster getMore reuses a retry strategy across getMores

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Cluster Scalability
    • ALL
    • ClusterScalability 22Jun-6Jul
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      For each remote cursor in a cluster getMore, the AsyncResultsMerger constructs a single RetryStrategy. For each getMore response on each remote that errors, the retry strategy is consulted to see if the error can be retried (ie represents a retryable system overloaded error and the max number of retries hasn't been reached).

      The problem is the same retry strategy is reused for all getMores on that remote even for future client getMore commands, so the retry budget is shared across all client getMores. This means a long lived cursor with many getMores can exhaust its retry attempts even if no individual getMore reaches the limit.

            Assignee:
            Jack Mulrow
            Reporter:
            Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: