...

Text file src/go.mongodb.org/mongo-driver/testdata/retryable-writes/legacy/findOneAndDelete-errorLabels.yml

Documentation: go.mongodb.org/mongo-driver/testdata/retryable-writes/legacy

     1runOn:
     2    - minServerVersion: "4.3.1"
     3      topology: ["replicaset", "sharded", "load-balanced"]
     4
     5data:
     6    - { _id: 1, x: 11 }
     7    - { _id: 2, x: 22 }
     8
     9tests:
    10    - description: "FindOneAndDelete succeeds with RetryableWriteError from server"
    11      failPoint:
    12          configureFailPoint: failCommand
    13          mode: { times: 1 }
    14          data:
    15              failCommands: ["findAndModify"]
    16              errorCode: 112 # WriteConflict, not a retryable error code
    17              errorLabels: ["RetryableWriteError"] # Override server behavior: send RetryableWriteError label with non-retryable error code
    18      operation:
    19          name: "findOneAndDelete"
    20          arguments:
    21              filter: { x: { $gte: 11 } }
    22              sort: { x: 1 }
    23      outcome: # Driver retries operation and it succeeds
    24          result: { _id: 1, x: 11 }
    25          collection:
    26              data:
    27                  - { _id: 2, x: 22 }
    28
    29    - description: "FindOneAndDelete fails if server does not return RetryableWriteError"
    30      failPoint:
    31          configureFailPoint: failCommand
    32          mode: { times: 1 }
    33          data:
    34              failCommands: ["findAndModify"]
    35              errorCode: 11600 # InterruptedAtShutdown, normally a retryable error code
    36              errorLabels: []  # Override server behavior: do not send RetryableWriteError label with retryable code
    37      operation:
    38          name: "findOneAndDelete"
    39          arguments:
    40              filter: { x: { $gte: 11 } }
    41              sort: { x: 1 }
    42      outcome:
    43          error: true # Driver does not retry operation because there was no RetryableWriteError label on response
    44          result:
    45              errorLabelsOmit: ["RetryableWriteError"]
    46          collection:
    47              data:
    48                  - { _id: 1, x: 11 }
    49                  - { _id: 2, x: 22 }

View as plain text