bson/testdata/retryable-reads/legacy/gridfs-downloadByName-serverErrors.yml
2025-03-17 20:58:26 +01:00

175 lines
6.6 KiB
YAML

runOn:
-
minServerVersion: "4.0"
topology: ["single", "replicaset"]
-
minServerVersion: "4.1.7"
topology: ["sharded", "load-balanced"]
database_name: &database_name "retryable-reads-tests"
bucket_name: "fs"
data:
fs.files:
-
_id: { $oid : "000000000000000000000001" }
length: 1
chunkSize: 4
uploadDate: { $date : "1970-01-01T00:00:00.000Z" }
filename: abc
metadata: {}
fs.chunks:
- { _id: { $oid: "000000000000000000000002" }, files_id: { $oid: "000000000000000000000001" }, n: 0, data: { $binary: { base64: "EQ==", subType: "00" } } }
tests:
-
description: "DownloadByName succeeds after InterruptedAtShutdown"
failPoint: &failCommand_failPoint
configureFailPoint: failCommand
mode: { times: 1 }
data: { failCommands: [find], errorCode: 11600 }
operations:
- &retryable_operation
name: download_by_name
object: gridfsbucket
arguments:
filename: abc
expectations:
- &retryable_command_started_event
command_started_event:
command:
find: fs.files
filter: { filename : "abc" }
database_name: *database_name
- *retryable_command_started_event
- &find_chunks_command_started_event
command_started_event:
command:
find: fs.chunks
filter: { files_id: { $oid : "000000000000000000000001" }}
sort: { n: 1 }
database_name: *database_name
-
description: "DownloadByName succeeds after InterruptedDueToReplStateChange"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 11602 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after NotWritablePrimary"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 10107 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after NotPrimaryNoSecondaryOk"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 13435 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after NotPrimaryOrSecondary"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 13436 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after PrimarySteppedDown"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 189 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after ShutdownInProgress"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 91 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after HostNotFound"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 7 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after HostUnreachable"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 6 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after NetworkTimeout"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 89 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName succeeds after SocketException"
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 9001 }
operations: [*retryable_operation]
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
- *find_chunks_command_started_event
-
description: "DownloadByName fails after two NotWritablePrimary errors"
failPoint:
<<: *failCommand_failPoint
mode: { times: 2 }
data: { failCommands: [find], errorCode: 10107 }
operations:
- &retryable_operation_fails
<<: *retryable_operation
error: true
expectations:
- *retryable_command_started_event
- *retryable_command_started_event
-
description: "DownloadByName fails after NotWritablePrimary when retryReads is false"
clientOptions:
retryReads: false
failPoint:
<<: *failCommand_failPoint
data: { failCommands: [find], errorCode: 10107 }
operations: [*retryable_operation_fails]
expectations:
- *retryable_command_started_event