Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-89584

Timeseries writes should handle ShardCannotRefreshDueToLocksHeld error correctly.

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • ALL

      Timeseries will try writing measurements by calling 
      performOrderedTimeseriesWritesAtomically. This can fail with ShardCannotRefreshDueToLocksHeld if a resharding operation is ongoing at the same time. We should handle these errors similar to how scoped_operation_completion_sharding_actions does - by doing a refresh first and then retrying. But timeseries will do a retry loop immediately instead. Resharding will eventually do a refresh, but this causes an extra bucket to get created (because the first failure will close that bucket and allocate a new one for retries).
       
       
      More context in this comment.

            Assignee:
            Unassigned Unassigned
            Reporter:
            kshitij.gupta@mongodb.com Kshitij Gupta
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: