...

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

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

     1{
     2  "runOn": [
     3    {
     4      "minServerVersion": "4.0",
     5      "topology": [
     6        "single",
     7        "replicaset"
     8      ]
     9    },
    10    {
    11      "minServerVersion": "4.1.7",
    12      "topology": [
    13        "sharded",
    14        "load-balanced"
    15      ]
    16    }
    17  ],
    18  "database_name": "retryable-reads-tests",
    19  "bucket_name": "fs",
    20  "data": {
    21    "fs.files": [
    22      {
    23        "_id": {
    24          "$oid": "000000000000000000000001"
    25        },
    26        "length": 1,
    27        "chunkSize": 4,
    28        "uploadDate": {
    29          "$date": "1970-01-01T00:00:00.000Z"
    30        },
    31        "filename": "abc",
    32        "metadata": {}
    33      }
    34    ],
    35    "fs.chunks": [
    36      {
    37        "_id": {
    38          "$oid": "000000000000000000000002"
    39        },
    40        "files_id": {
    41          "$oid": "000000000000000000000001"
    42        },
    43        "n": 0,
    44        "data": {
    45          "$binary": {
    46            "base64": "EQ==",
    47            "subType": "00"
    48          }
    49        }
    50      }
    51    ]
    52  },
    53  "tests": [
    54    {
    55      "description": "DownloadByName succeeds after InterruptedAtShutdown",
    56      "failPoint": {
    57        "configureFailPoint": "failCommand",
    58        "mode": {
    59          "times": 1
    60        },
    61        "data": {
    62          "failCommands": [
    63            "find"
    64          ],
    65          "errorCode": 11600
    66        }
    67      },
    68      "operations": [
    69        {
    70          "name": "download_by_name",
    71          "object": "gridfsbucket",
    72          "arguments": {
    73            "filename": "abc"
    74          }
    75        }
    76      ],
    77      "expectations": [
    78        {
    79          "command_started_event": {
    80            "command": {
    81              "find": "fs.files",
    82              "filter": {
    83                "filename": "abc"
    84              }
    85            },
    86            "database_name": "retryable-reads-tests"
    87          }
    88        },
    89        {
    90          "command_started_event": {
    91            "command": {
    92              "find": "fs.files",
    93              "filter": {
    94                "filename": "abc"
    95              }
    96            },
    97            "database_name": "retryable-reads-tests"
    98          }
    99        },
   100        {
   101          "command_started_event": {
   102            "command": {
   103              "find": "fs.chunks",
   104              "filter": {
   105                "files_id": {
   106                  "$oid": "000000000000000000000001"
   107                }
   108              },
   109              "sort": {
   110                "n": 1
   111              }
   112            },
   113            "database_name": "retryable-reads-tests"
   114          }
   115        }
   116      ]
   117    },
   118    {
   119      "description": "DownloadByName succeeds after InterruptedDueToReplStateChange",
   120      "failPoint": {
   121        "configureFailPoint": "failCommand",
   122        "mode": {
   123          "times": 1
   124        },
   125        "data": {
   126          "failCommands": [
   127            "find"
   128          ],
   129          "errorCode": 11602
   130        }
   131      },
   132      "operations": [
   133        {
   134          "name": "download_by_name",
   135          "object": "gridfsbucket",
   136          "arguments": {
   137            "filename": "abc"
   138          }
   139        }
   140      ],
   141      "expectations": [
   142        {
   143          "command_started_event": {
   144            "command": {
   145              "find": "fs.files",
   146              "filter": {
   147                "filename": "abc"
   148              }
   149            },
   150            "database_name": "retryable-reads-tests"
   151          }
   152        },
   153        {
   154          "command_started_event": {
   155            "command": {
   156              "find": "fs.files",
   157              "filter": {
   158                "filename": "abc"
   159              }
   160            },
   161            "database_name": "retryable-reads-tests"
   162          }
   163        },
   164        {
   165          "command_started_event": {
   166            "command": {
   167              "find": "fs.chunks",
   168              "filter": {
   169                "files_id": {
   170                  "$oid": "000000000000000000000001"
   171                }
   172              },
   173              "sort": {
   174                "n": 1
   175              }
   176            },
   177            "database_name": "retryable-reads-tests"
   178          }
   179        }
   180      ]
   181    },
   182    {
   183      "description": "DownloadByName succeeds after NotWritablePrimary",
   184      "failPoint": {
   185        "configureFailPoint": "failCommand",
   186        "mode": {
   187          "times": 1
   188        },
   189        "data": {
   190          "failCommands": [
   191            "find"
   192          ],
   193          "errorCode": 10107
   194        }
   195      },
   196      "operations": [
   197        {
   198          "name": "download_by_name",
   199          "object": "gridfsbucket",
   200          "arguments": {
   201            "filename": "abc"
   202          }
   203        }
   204      ],
   205      "expectations": [
   206        {
   207          "command_started_event": {
   208            "command": {
   209              "find": "fs.files",
   210              "filter": {
   211                "filename": "abc"
   212              }
   213            },
   214            "database_name": "retryable-reads-tests"
   215          }
   216        },
   217        {
   218          "command_started_event": {
   219            "command": {
   220              "find": "fs.files",
   221              "filter": {
   222                "filename": "abc"
   223              }
   224            },
   225            "database_name": "retryable-reads-tests"
   226          }
   227        },
   228        {
   229          "command_started_event": {
   230            "command": {
   231              "find": "fs.chunks",
   232              "filter": {
   233                "files_id": {
   234                  "$oid": "000000000000000000000001"
   235                }
   236              },
   237              "sort": {
   238                "n": 1
   239              }
   240            },
   241            "database_name": "retryable-reads-tests"
   242          }
   243        }
   244      ]
   245    },
   246    {
   247      "description": "DownloadByName succeeds after NotPrimaryNoSecondaryOk",
   248      "failPoint": {
   249        "configureFailPoint": "failCommand",
   250        "mode": {
   251          "times": 1
   252        },
   253        "data": {
   254          "failCommands": [
   255            "find"
   256          ],
   257          "errorCode": 13435
   258        }
   259      },
   260      "operations": [
   261        {
   262          "name": "download_by_name",
   263          "object": "gridfsbucket",
   264          "arguments": {
   265            "filename": "abc"
   266          }
   267        }
   268      ],
   269      "expectations": [
   270        {
   271          "command_started_event": {
   272            "command": {
   273              "find": "fs.files",
   274              "filter": {
   275                "filename": "abc"
   276              }
   277            },
   278            "database_name": "retryable-reads-tests"
   279          }
   280        },
   281        {
   282          "command_started_event": {
   283            "command": {
   284              "find": "fs.files",
   285              "filter": {
   286                "filename": "abc"
   287              }
   288            },
   289            "database_name": "retryable-reads-tests"
   290          }
   291        },
   292        {
   293          "command_started_event": {
   294            "command": {
   295              "find": "fs.chunks",
   296              "filter": {
   297                "files_id": {
   298                  "$oid": "000000000000000000000001"
   299                }
   300              },
   301              "sort": {
   302                "n": 1
   303              }
   304            },
   305            "database_name": "retryable-reads-tests"
   306          }
   307        }
   308      ]
   309    },
   310    {
   311      "description": "DownloadByName succeeds after NotPrimaryOrSecondary",
   312      "failPoint": {
   313        "configureFailPoint": "failCommand",
   314        "mode": {
   315          "times": 1
   316        },
   317        "data": {
   318          "failCommands": [
   319            "find"
   320          ],
   321          "errorCode": 13436
   322        }
   323      },
   324      "operations": [
   325        {
   326          "name": "download_by_name",
   327          "object": "gridfsbucket",
   328          "arguments": {
   329            "filename": "abc"
   330          }
   331        }
   332      ],
   333      "expectations": [
   334        {
   335          "command_started_event": {
   336            "command": {
   337              "find": "fs.files",
   338              "filter": {
   339                "filename": "abc"
   340              }
   341            },
   342            "database_name": "retryable-reads-tests"
   343          }
   344        },
   345        {
   346          "command_started_event": {
   347            "command": {
   348              "find": "fs.files",
   349              "filter": {
   350                "filename": "abc"
   351              }
   352            },
   353            "database_name": "retryable-reads-tests"
   354          }
   355        },
   356        {
   357          "command_started_event": {
   358            "command": {
   359              "find": "fs.chunks",
   360              "filter": {
   361                "files_id": {
   362                  "$oid": "000000000000000000000001"
   363                }
   364              },
   365              "sort": {
   366                "n": 1
   367              }
   368            },
   369            "database_name": "retryable-reads-tests"
   370          }
   371        }
   372      ]
   373    },
   374    {
   375      "description": "DownloadByName succeeds after PrimarySteppedDown",
   376      "failPoint": {
   377        "configureFailPoint": "failCommand",
   378        "mode": {
   379          "times": 1
   380        },
   381        "data": {
   382          "failCommands": [
   383            "find"
   384          ],
   385          "errorCode": 189
   386        }
   387      },
   388      "operations": [
   389        {
   390          "name": "download_by_name",
   391          "object": "gridfsbucket",
   392          "arguments": {
   393            "filename": "abc"
   394          }
   395        }
   396      ],
   397      "expectations": [
   398        {
   399          "command_started_event": {
   400            "command": {
   401              "find": "fs.files",
   402              "filter": {
   403                "filename": "abc"
   404              }
   405            },
   406            "database_name": "retryable-reads-tests"
   407          }
   408        },
   409        {
   410          "command_started_event": {
   411            "command": {
   412              "find": "fs.files",
   413              "filter": {
   414                "filename": "abc"
   415              }
   416            },
   417            "database_name": "retryable-reads-tests"
   418          }
   419        },
   420        {
   421          "command_started_event": {
   422            "command": {
   423              "find": "fs.chunks",
   424              "filter": {
   425                "files_id": {
   426                  "$oid": "000000000000000000000001"
   427                }
   428              },
   429              "sort": {
   430                "n": 1
   431              }
   432            },
   433            "database_name": "retryable-reads-tests"
   434          }
   435        }
   436      ]
   437    },
   438    {
   439      "description": "DownloadByName succeeds after ShutdownInProgress",
   440      "failPoint": {
   441        "configureFailPoint": "failCommand",
   442        "mode": {
   443          "times": 1
   444        },
   445        "data": {
   446          "failCommands": [
   447            "find"
   448          ],
   449          "errorCode": 91
   450        }
   451      },
   452      "operations": [
   453        {
   454          "name": "download_by_name",
   455          "object": "gridfsbucket",
   456          "arguments": {
   457            "filename": "abc"
   458          }
   459        }
   460      ],
   461      "expectations": [
   462        {
   463          "command_started_event": {
   464            "command": {
   465              "find": "fs.files",
   466              "filter": {
   467                "filename": "abc"
   468              }
   469            },
   470            "database_name": "retryable-reads-tests"
   471          }
   472        },
   473        {
   474          "command_started_event": {
   475            "command": {
   476              "find": "fs.files",
   477              "filter": {
   478                "filename": "abc"
   479              }
   480            },
   481            "database_name": "retryable-reads-tests"
   482          }
   483        },
   484        {
   485          "command_started_event": {
   486            "command": {
   487              "find": "fs.chunks",
   488              "filter": {
   489                "files_id": {
   490                  "$oid": "000000000000000000000001"
   491                }
   492              },
   493              "sort": {
   494                "n": 1
   495              }
   496            },
   497            "database_name": "retryable-reads-tests"
   498          }
   499        }
   500      ]
   501    },
   502    {
   503      "description": "DownloadByName succeeds after HostNotFound",
   504      "failPoint": {
   505        "configureFailPoint": "failCommand",
   506        "mode": {
   507          "times": 1
   508        },
   509        "data": {
   510          "failCommands": [
   511            "find"
   512          ],
   513          "errorCode": 7
   514        }
   515      },
   516      "operations": [
   517        {
   518          "name": "download_by_name",
   519          "object": "gridfsbucket",
   520          "arguments": {
   521            "filename": "abc"
   522          }
   523        }
   524      ],
   525      "expectations": [
   526        {
   527          "command_started_event": {
   528            "command": {
   529              "find": "fs.files",
   530              "filter": {
   531                "filename": "abc"
   532              }
   533            },
   534            "database_name": "retryable-reads-tests"
   535          }
   536        },
   537        {
   538          "command_started_event": {
   539            "command": {
   540              "find": "fs.files",
   541              "filter": {
   542                "filename": "abc"
   543              }
   544            },
   545            "database_name": "retryable-reads-tests"
   546          }
   547        },
   548        {
   549          "command_started_event": {
   550            "command": {
   551              "find": "fs.chunks",
   552              "filter": {
   553                "files_id": {
   554                  "$oid": "000000000000000000000001"
   555                }
   556              },
   557              "sort": {
   558                "n": 1
   559              }
   560            },
   561            "database_name": "retryable-reads-tests"
   562          }
   563        }
   564      ]
   565    },
   566    {
   567      "description": "DownloadByName succeeds after HostUnreachable",
   568      "failPoint": {
   569        "configureFailPoint": "failCommand",
   570        "mode": {
   571          "times": 1
   572        },
   573        "data": {
   574          "failCommands": [
   575            "find"
   576          ],
   577          "errorCode": 6
   578        }
   579      },
   580      "operations": [
   581        {
   582          "name": "download_by_name",
   583          "object": "gridfsbucket",
   584          "arguments": {
   585            "filename": "abc"
   586          }
   587        }
   588      ],
   589      "expectations": [
   590        {
   591          "command_started_event": {
   592            "command": {
   593              "find": "fs.files",
   594              "filter": {
   595                "filename": "abc"
   596              }
   597            },
   598            "database_name": "retryable-reads-tests"
   599          }
   600        },
   601        {
   602          "command_started_event": {
   603            "command": {
   604              "find": "fs.files",
   605              "filter": {
   606                "filename": "abc"
   607              }
   608            },
   609            "database_name": "retryable-reads-tests"
   610          }
   611        },
   612        {
   613          "command_started_event": {
   614            "command": {
   615              "find": "fs.chunks",
   616              "filter": {
   617                "files_id": {
   618                  "$oid": "000000000000000000000001"
   619                }
   620              },
   621              "sort": {
   622                "n": 1
   623              }
   624            },
   625            "database_name": "retryable-reads-tests"
   626          }
   627        }
   628      ]
   629    },
   630    {
   631      "description": "DownloadByName succeeds after NetworkTimeout",
   632      "failPoint": {
   633        "configureFailPoint": "failCommand",
   634        "mode": {
   635          "times": 1
   636        },
   637        "data": {
   638          "failCommands": [
   639            "find"
   640          ],
   641          "errorCode": 89
   642        }
   643      },
   644      "operations": [
   645        {
   646          "name": "download_by_name",
   647          "object": "gridfsbucket",
   648          "arguments": {
   649            "filename": "abc"
   650          }
   651        }
   652      ],
   653      "expectations": [
   654        {
   655          "command_started_event": {
   656            "command": {
   657              "find": "fs.files",
   658              "filter": {
   659                "filename": "abc"
   660              }
   661            },
   662            "database_name": "retryable-reads-tests"
   663          }
   664        },
   665        {
   666          "command_started_event": {
   667            "command": {
   668              "find": "fs.files",
   669              "filter": {
   670                "filename": "abc"
   671              }
   672            },
   673            "database_name": "retryable-reads-tests"
   674          }
   675        },
   676        {
   677          "command_started_event": {
   678            "command": {
   679              "find": "fs.chunks",
   680              "filter": {
   681                "files_id": {
   682                  "$oid": "000000000000000000000001"
   683                }
   684              },
   685              "sort": {
   686                "n": 1
   687              }
   688            },
   689            "database_name": "retryable-reads-tests"
   690          }
   691        }
   692      ]
   693    },
   694    {
   695      "description": "DownloadByName succeeds after SocketException",
   696      "failPoint": {
   697        "configureFailPoint": "failCommand",
   698        "mode": {
   699          "times": 1
   700        },
   701        "data": {
   702          "failCommands": [
   703            "find"
   704          ],
   705          "errorCode": 9001
   706        }
   707      },
   708      "operations": [
   709        {
   710          "name": "download_by_name",
   711          "object": "gridfsbucket",
   712          "arguments": {
   713            "filename": "abc"
   714          }
   715        }
   716      ],
   717      "expectations": [
   718        {
   719          "command_started_event": {
   720            "command": {
   721              "find": "fs.files",
   722              "filter": {
   723                "filename": "abc"
   724              }
   725            },
   726            "database_name": "retryable-reads-tests"
   727          }
   728        },
   729        {
   730          "command_started_event": {
   731            "command": {
   732              "find": "fs.files",
   733              "filter": {
   734                "filename": "abc"
   735              }
   736            },
   737            "database_name": "retryable-reads-tests"
   738          }
   739        },
   740        {
   741          "command_started_event": {
   742            "command": {
   743              "find": "fs.chunks",
   744              "filter": {
   745                "files_id": {
   746                  "$oid": "000000000000000000000001"
   747                }
   748              },
   749              "sort": {
   750                "n": 1
   751              }
   752            },
   753            "database_name": "retryable-reads-tests"
   754          }
   755        }
   756      ]
   757    },
   758    {
   759      "description": "DownloadByName fails after two NotWritablePrimary errors",
   760      "failPoint": {
   761        "configureFailPoint": "failCommand",
   762        "mode": {
   763          "times": 2
   764        },
   765        "data": {
   766          "failCommands": [
   767            "find"
   768          ],
   769          "errorCode": 10107
   770        }
   771      },
   772      "operations": [
   773        {
   774          "name": "download_by_name",
   775          "object": "gridfsbucket",
   776          "arguments": {
   777            "filename": "abc"
   778          },
   779          "error": true
   780        }
   781      ],
   782      "expectations": [
   783        {
   784          "command_started_event": {
   785            "command": {
   786              "find": "fs.files",
   787              "filter": {
   788                "filename": "abc"
   789              }
   790            },
   791            "database_name": "retryable-reads-tests"
   792          }
   793        },
   794        {
   795          "command_started_event": {
   796            "command": {
   797              "find": "fs.files",
   798              "filter": {
   799                "filename": "abc"
   800              }
   801            },
   802            "database_name": "retryable-reads-tests"
   803          }
   804        }
   805      ]
   806    },
   807    {
   808      "description": "DownloadByName fails after NotWritablePrimary when retryReads is false",
   809      "clientOptions": {
   810        "retryReads": false
   811      },
   812      "failPoint": {
   813        "configureFailPoint": "failCommand",
   814        "mode": {
   815          "times": 1
   816        },
   817        "data": {
   818          "failCommands": [
   819            "find"
   820          ],
   821          "errorCode": 10107
   822        }
   823      },
   824      "operations": [
   825        {
   826          "name": "download_by_name",
   827          "object": "gridfsbucket",
   828          "arguments": {
   829            "filename": "abc"
   830          },
   831          "error": true
   832        }
   833      ],
   834      "expectations": [
   835        {
   836          "command_started_event": {
   837            "command": {
   838              "find": "fs.files",
   839              "filter": {
   840                "filename": "abc"
   841              }
   842            },
   843            "database_name": "retryable-reads-tests"
   844          }
   845        }
   846      ]
   847    }
   848  ]
   849}

View as plain text