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

Transient Transaction errors after a WouldChangeOwningShard make findAndModify to fail

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
    • Cluster Scalability
    • ALL
    • Hide

      1. Execute a findAndModify as a retryableWrite on a document's shard key in a way it would change the owning shard
      2. Cause a refresh after the findAndModify is retried within a transaction

      Show
      1. Execute a findAndModify as a retryableWrite on a document's shard key in a way it would change the owning shard 2. Cause a refresh after the findAndModify is retried within a transaction

      The cluster's find and modify code retries using a transaction if a findAndModify with a retryable write fails with a WouldChangeOwningShard error. However it is not retrying if the transaction fails with a transient transaction error. Something similar to SERVER-53199 could be implemented to automatically retry and prevent that a refresh on the shard makes the findAndModify operation to fail.

            Assignee:
            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            Reporter:
            marcos.grillo@mongodb.com Marcos José Grillo Ramirez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: