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

Transient Transaction errors after a WouldChangeOwningShard make findAndModify to fail

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Sharding
    • Labels:
    • Operating System:
      ALL
    • Steps To Reproduce:
      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

      Description

      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.

        Attachments

          Activity

            People

            Assignee:
            backlog-server-sharding-nyc Backlog - Sharding NYC
            Reporter:
            marcos.grillo Marcos José Grillo Ramirez
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: