Sha256: 7f1cf8ed2194daa16a39f5472ad654849128e5f4043954f98fd30be870892cbd
Contents?: true
Size: 1.91 KB
Versions: 37
Compression:
Stored size: 1.91 KB
Contents
runOn: - minServerVersion: "4.3.1" topology: ["replicaset", "sharded"] data: - { _id: 1, x: 11 } - { _id: 2, x: 22 } tests: - description: "FindOneAndReplace 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: "findOneAndReplace" arguments: filter: { _id: 1 } replacement: { _id: 1, x: 111 } returnDocument: "Before" outcome: # Driver retries operation and it succeeds result: { _id: 1, x: 11 } collection: data: - { _id: 1, x: 111 } - { _id: 2, x: 22 } - description: "FindOneAndReplace 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: "findOneAndReplace" arguments: filter: { _id: 1 } replacement: { _id: 1, x: 111 } 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