...

Text file src/go.mongodb.org/mongo-driver/testdata/retryable-reads/gridfs-downloadByName-serverErrors.yml

Documentation: go.mongodb.org/mongo-driver/testdata/retryable-reads

     1runOn:
     2    -
     3        minServerVersion: "4.0"
     4        topology: ["single", "replicaset"]
     5    -
     6        minServerVersion: "4.1.7"
     7        topology: ["sharded", "load-balanced"]
     8
     9database_name: &database_name "retryable-reads-tests"
    10bucket_name: "fs"
    11
    12data:
    13    fs.files:
    14        -
    15            _id: { $oid : "000000000000000000000001" }
    16            length: 1
    17            chunkSize: 4
    18            uploadDate: { $date : "1970-01-01T00:00:00.000Z" }
    19            filename: abc
    20            metadata: {}
    21    fs.chunks:
    22        - { _id: { $oid: "000000000000000000000002" }, files_id: { $oid: "000000000000000000000001" }, n: 0, data: { $binary: { base64: "EQ==", subType: "00" } } }
    23
    24tests:
    25    -
    26        description: "DownloadByName succeeds after InterruptedAtShutdown"
    27        failPoint: &failCommand_failPoint
    28            configureFailPoint: failCommand
    29            mode: { times: 1 }
    30            data: { failCommands: [find], errorCode: 11600 }
    31        operations:
    32            - &retryable_operation
    33                name: download_by_name
    34                object: gridfsbucket
    35                arguments:
    36                    filename: abc
    37        expectations:
    38            - &retryable_command_started_event
    39                command_started_event:
    40                    command:
    41                        find: fs.files
    42                        filter: { filename : "abc" }
    43                    database_name: *database_name
    44            - *retryable_command_started_event
    45            - &find_chunks_command_started_event
    46                command_started_event:
    47                    command:
    48                        find: fs.chunks
    49                        filter: { files_id: { $oid : "000000000000000000000001" }}
    50                        sort: { n: 1 }
    51                    database_name: *database_name
    52    -
    53        description: "DownloadByName succeeds after InterruptedDueToReplStateChange"
    54        failPoint:
    55            <<: *failCommand_failPoint
    56            data: { failCommands: [find], errorCode: 11602 }
    57        operations: [*retryable_operation]
    58        expectations:
    59             - *retryable_command_started_event
    60             - *retryable_command_started_event
    61             - *find_chunks_command_started_event
    62    -
    63        description: "DownloadByName succeeds after NotWritablePrimary"
    64        failPoint:
    65            <<: *failCommand_failPoint
    66            data: { failCommands: [find], errorCode: 10107 }
    67        operations: [*retryable_operation]
    68        expectations:
    69             - *retryable_command_started_event
    70             - *retryable_command_started_event
    71             - *find_chunks_command_started_event
    72    -
    73        description: "DownloadByName succeeds after NotPrimaryNoSecondaryOk"
    74        failPoint:
    75            <<: *failCommand_failPoint
    76            data: { failCommands: [find], errorCode: 13435 }
    77        operations: [*retryable_operation]
    78        expectations:
    79             - *retryable_command_started_event
    80             - *retryable_command_started_event
    81             - *find_chunks_command_started_event
    82    -
    83        description: "DownloadByName succeeds after NotPrimaryOrSecondary"
    84        failPoint:
    85            <<: *failCommand_failPoint
    86            data: { failCommands: [find], errorCode: 13436 }
    87        operations: [*retryable_operation]
    88        expectations:
    89             - *retryable_command_started_event
    90             - *retryable_command_started_event
    91             - *find_chunks_command_started_event
    92    -
    93        description: "DownloadByName succeeds after PrimarySteppedDown"
    94        failPoint:
    95            <<: *failCommand_failPoint
    96            data: { failCommands: [find], errorCode: 189 }
    97        operations: [*retryable_operation]
    98        expectations:
    99             - *retryable_command_started_event
   100             - *retryable_command_started_event
   101             - *find_chunks_command_started_event
   102    -
   103        description: "DownloadByName succeeds after ShutdownInProgress"
   104        failPoint:
   105            <<: *failCommand_failPoint
   106            data: { failCommands: [find], errorCode: 91 }
   107        operations: [*retryable_operation]
   108        expectations:
   109             - *retryable_command_started_event
   110             - *retryable_command_started_event
   111             - *find_chunks_command_started_event
   112    -
   113        description: "DownloadByName succeeds after HostNotFound"
   114        failPoint:
   115            <<: *failCommand_failPoint
   116            data: { failCommands: [find], errorCode: 7 }
   117        operations: [*retryable_operation]
   118        expectations:
   119             - *retryable_command_started_event
   120             - *retryable_command_started_event
   121             - *find_chunks_command_started_event
   122    -
   123        description: "DownloadByName succeeds after HostUnreachable"
   124        failPoint:
   125            <<: *failCommand_failPoint
   126            data: { failCommands: [find], errorCode: 6 }
   127        operations: [*retryable_operation]
   128        expectations:
   129             - *retryable_command_started_event
   130             - *retryable_command_started_event
   131             - *find_chunks_command_started_event
   132    -
   133        description: "DownloadByName succeeds after NetworkTimeout"
   134        failPoint:
   135            <<: *failCommand_failPoint
   136            data: { failCommands: [find], errorCode: 89 }
   137        operations: [*retryable_operation]
   138        expectations:
   139             - *retryable_command_started_event
   140             - *retryable_command_started_event
   141             - *find_chunks_command_started_event
   142    -
   143        description: "DownloadByName succeeds after SocketException"
   144        failPoint:
   145            <<: *failCommand_failPoint
   146            data: { failCommands: [find], errorCode: 9001 }
   147        operations: [*retryable_operation]
   148        expectations:
   149             - *retryable_command_started_event
   150             - *retryable_command_started_event
   151             - *find_chunks_command_started_event
   152    -
   153        description: "DownloadByName fails after two NotWritablePrimary errors"
   154        failPoint:
   155            <<: *failCommand_failPoint
   156            mode: { times: 2 }
   157            data: { failCommands: [find], errorCode: 10107 }
   158        operations:
   159            - &retryable_operation_fails
   160                <<: *retryable_operation
   161                error: true
   162        expectations:
   163             - *retryable_command_started_event
   164             - *retryable_command_started_event
   165    -
   166        description: "DownloadByName fails after NotWritablePrimary when retryReads is false"
   167        clientOptions:
   168            retryReads: false
   169        failPoint:
   170            <<: *failCommand_failPoint
   171            data: { failCommands: [find], errorCode: 10107 }
   172        operations: [*retryable_operation_fails]
   173        expectations:
   174             - *retryable_command_started_event

View as plain text