...

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

View as plain text