63 lines
1.9 KiB
YAML
63 lines
1.9 KiB
YAML
runOn:
|
|
-
|
|
minServerVersion: "4.0"
|
|
topology: ["replicaset"]
|
|
-
|
|
minServerVersion: "4.1.7"
|
|
topology: ["sharded", "load-balanced"]
|
|
serverless: "forbid"
|
|
|
|
database_name: &database_name "retryable-reads-tests"
|
|
collection_name: &collection_name "coll"
|
|
|
|
data:
|
|
- {_id: 1, x: 11}
|
|
|
|
tests:
|
|
-
|
|
description: "client.watch succeeds on first attempt"
|
|
operations:
|
|
- &retryable_operation
|
|
name: watch
|
|
object: client
|
|
expectations:
|
|
- &retryable_command_started_event
|
|
command_started_event:
|
|
command:
|
|
aggregate: 1
|
|
cursor: {}
|
|
pipeline: [ { $changeStream: { "allChangesForCluster": true } } ]
|
|
database_name: admin
|
|
-
|
|
description: "client.watch succeeds on second attempt"
|
|
failPoint: &failCommand_failPoint
|
|
configureFailPoint: failCommand
|
|
mode: { times: 1 }
|
|
data:
|
|
failCommands: [aggregate]
|
|
closeConnection: true
|
|
operations: [*retryable_operation]
|
|
expectations:
|
|
- *retryable_command_started_event
|
|
- *retryable_command_started_event
|
|
-
|
|
description: "client.watch fails on first attempt"
|
|
clientOptions:
|
|
retryReads: false
|
|
failPoint: *failCommand_failPoint
|
|
operations:
|
|
- &retryable_operation_fails
|
|
<<: *retryable_operation
|
|
error: true
|
|
expectations:
|
|
- *retryable_command_started_event
|
|
-
|
|
description: "client.watch fails on second attempt"
|
|
failPoint:
|
|
<<: *failCommand_failPoint
|
|
mode: { times: 2 }
|
|
operations: [*retryable_operation_fails]
|
|
expectations:
|
|
- *retryable_command_started_event
|
|
- *retryable_command_started_event
|