Sha256: 23a21644117491aa75d1b20c3ec241ea36ff165ce43d7652d8733a9a218ea9dc
Contents?: true
Size: 1.9 KB
Versions: 37
Compression:
Stored size: 1.9 KB
Contents
runOn: - minServerVersion: "4.3.1" topology: ["replicaset", "sharded"] data: - { _id: 1, x: 11 } - { _id: 2, x: 22 } tests: - description: "FindOneAndUpdate succeeds with RetryableWriteError from server" failPoint: configureFailPoint: failCommand mode: { times: 1 } data: failCommands: ["findAndModify"] errorCode: 112 # WriteConflict, not a retryable error code errorLabels: ["RetryableWriteError"] # Override server behavior: send RetryableWriteError label with non-retryable error code operation: name: "findOneAndUpdate" arguments: filter: { _id: 1 } update: { $inc: { x: 1 } } returnDocument: "Before" outcome: # Driver retries operation and it succeeds result: { _id: 1, x: 11 } collection: data: - { _id: 1, x: 12 } - { _id: 2, x: 22 } - description: "FindOneAndUpdate fails if server does not return RetryableWriteError" failPoint: configureFailPoint: failCommand mode: { times: 1 } data: failCommands: ["findAndModify"] errorCode: 11600 # InterruptedAtShutdown, normally a retryable error code errorLabels: [] # Override server behavior: do not send RetryableWriteError label with retryable code operation: name: "findOneAndUpdate" arguments: filter: { _id: 1 } update: { $inc: { x: 1 } } returnDocument: "Before" outcome: error: true # Driver does not retry operation because there was no RetryableWriteError label on response result: errorLabelsOmit: ["RetryableWriteError"] collection: data: - { _id: 1, x: 11 } - { _id: 2, x: 22 }
Version data entries
37 entries across 37 versions & 2 rubygems