2025-03-17 20:58:26 +01:00

61 lines
2.0 KiB
YAML

runOn:
-
minServerVersion: "4.0"
topology: ["single", "replicaset"]
-
minServerVersion: "4.1.7"
topology: ["sharded", "load-balanced"]
database_name: &database_name "retryable-reads-tests"
collection_name: &collection_name "coll"
data:
- {_id: 1, x: 0}
- {_id: 2, x: 1}
- {_id: 3, x: 2}
tests:
-
description: "MapReduce succeeds with retry on"
operations:
- &operation_succeeds
<<: &operation
name: mapReduce
object: collection
arguments:
map: { $code: "function inc() { return emit(0, this.x + 1) }" }
reduce: { $code: "function sum(key, values) { return values.reduce((acc, x) => acc + x); }" }
out: { inline: 1 }
result: [ { "_id" : 0, "value" : 6 } ]
expectations:
- &command_started_event
command_started_event:
command:
mapReduce: *collection_name
map: { $code: "function inc() { return emit(0, this.x + 1) }" }
reduce: { $code: "function sum(key, values) { return values.reduce((acc, x) => acc + x); }" }
out: { inline: 1 }
database_name: *database_name
-
description: "MapReduce fails with retry on"
failPoint: &failCommand_failPoint
configureFailPoint: failCommand
mode: { times: 1 }
data:
failCommands: [mapReduce]
closeConnection: true
operations:
- &operation_fails
<<: *operation
error: true
expectations:
- *command_started_event
-
description: "MapReduce fails with retry off"
clientOptions:
retryReads: false
failPoint: *failCommand_failPoint
operations: [*operation_fails]
expectations:
- *command_started_event