...

Text file src/go.mongodb.org/mongo-driver/testdata/transactions/unified/mongos-unpin.json

Documentation: go.mongodb.org/mongo-driver/testdata/transactions/unified

     1{
     2  "description": "mongos-unpin",
     3  "schemaVersion": "1.4",
     4  "runOnRequirements": [
     5    {
     6      "minServerVersion": "4.2",
     7      "maxServerVersion": "7.99",
     8      "topologies": [
     9        "sharded-replicaset"
    10      ]
    11    }
    12  ],
    13  "createEntities": [
    14    {
    15      "client": {
    16        "id": "client0",
    17        "useMultipleMongoses": true
    18      }
    19    },
    20    {
    21      "database": {
    22        "id": "database0",
    23        "client": "client0",
    24        "databaseName": "mongos-unpin-db"
    25      }
    26    },
    27    {
    28      "collection": {
    29        "id": "collection0",
    30        "database": "database0",
    31        "collectionName": "test"
    32      }
    33    },
    34    {
    35      "session": {
    36        "id": "session0",
    37        "client": "client0"
    38      }
    39    }
    40  ],
    41  "initialData": [
    42    {
    43      "collectionName": "test",
    44      "databaseName": "mongos-unpin-db",
    45      "documents": []
    46    }
    47  ],
    48  "_yamlAnchors": {
    49    "anchors": 24
    50  },
    51  "tests": [
    52    {
    53      "description": "unpin after TransientTransactionError error on commit",
    54      "runOnRequirements": [
    55        {
    56          "serverless": "forbid"
    57        }
    58      ],
    59      "operations": [
    60        {
    61          "name": "startTransaction",
    62          "object": "session0"
    63        },
    64        {
    65          "name": "insertOne",
    66          "object": "collection0",
    67          "arguments": {
    68            "document": {
    69              "x": 1
    70            },
    71            "session": "session0"
    72          }
    73        },
    74        {
    75          "name": "targetedFailPoint",
    76          "object": "testRunner",
    77          "arguments": {
    78            "session": "session0",
    79            "failPoint": {
    80              "configureFailPoint": "failCommand",
    81              "mode": {
    82                "times": 1
    83              },
    84              "data": {
    85                "failCommands": [
    86                  "commitTransaction"
    87                ],
    88                "errorCode": 24
    89              }
    90            }
    91          }
    92        },
    93        {
    94          "name": "commitTransaction",
    95          "object": "session0",
    96          "expectError": {
    97            "errorCode": 24,
    98            "errorLabelsContain": [
    99              "TransientTransactionError"
   100            ],
   101            "errorLabelsOmit": [
   102              "UnknownTransactionCommitResult"
   103            ]
   104          }
   105        },
   106        {
   107          "name": "assertSessionUnpinned",
   108          "object": "testRunner",
   109          "arguments": {
   110            "session": "session0"
   111          }
   112        },
   113        {
   114          "name": "startTransaction",
   115          "object": "session0"
   116        },
   117        {
   118          "name": "insertOne",
   119          "object": "collection0",
   120          "arguments": {
   121            "document": {
   122              "x": 1
   123            },
   124            "session": "session0"
   125          }
   126        },
   127        {
   128          "name": "abortTransaction",
   129          "object": "session0"
   130        }
   131      ]
   132    },
   133    {
   134      "description": "unpin on successful abort",
   135      "operations": [
   136        {
   137          "name": "startTransaction",
   138          "object": "session0"
   139        },
   140        {
   141          "name": "insertOne",
   142          "object": "collection0",
   143          "arguments": {
   144            "document": {
   145              "x": 1
   146            },
   147            "session": "session0"
   148          }
   149        },
   150        {
   151          "name": "abortTransaction",
   152          "object": "session0"
   153        },
   154        {
   155          "name": "assertSessionUnpinned",
   156          "object": "testRunner",
   157          "arguments": {
   158            "session": "session0"
   159          }
   160        }
   161      ]
   162    },
   163    {
   164      "description": "unpin after non-transient error on abort",
   165      "runOnRequirements": [
   166        {
   167          "serverless": "forbid"
   168        }
   169      ],
   170      "operations": [
   171        {
   172          "name": "startTransaction",
   173          "object": "session0"
   174        },
   175        {
   176          "name": "insertOne",
   177          "object": "collection0",
   178          "arguments": {
   179            "document": {
   180              "x": 1
   181            },
   182            "session": "session0"
   183          }
   184        },
   185        {
   186          "name": "targetedFailPoint",
   187          "object": "testRunner",
   188          "arguments": {
   189            "session": "session0",
   190            "failPoint": {
   191              "configureFailPoint": "failCommand",
   192              "mode": {
   193                "times": 1
   194              },
   195              "data": {
   196                "failCommands": [
   197                  "abortTransaction"
   198                ],
   199                "errorCode": 24
   200              }
   201            }
   202          }
   203        },
   204        {
   205          "name": "abortTransaction",
   206          "object": "session0"
   207        },
   208        {
   209          "name": "assertSessionUnpinned",
   210          "object": "testRunner",
   211          "arguments": {
   212            "session": "session0"
   213          }
   214        },
   215        {
   216          "name": "startTransaction",
   217          "object": "session0"
   218        },
   219        {
   220          "name": "insertOne",
   221          "object": "collection0",
   222          "arguments": {
   223            "document": {
   224              "x": 1
   225            },
   226            "session": "session0"
   227          }
   228        },
   229        {
   230          "name": "abortTransaction",
   231          "object": "session0"
   232        }
   233      ]
   234    },
   235    {
   236      "description": "unpin after TransientTransactionError error on abort",
   237      "operations": [
   238        {
   239          "name": "startTransaction",
   240          "object": "session0"
   241        },
   242        {
   243          "name": "insertOne",
   244          "object": "collection0",
   245          "arguments": {
   246            "document": {
   247              "x": 1
   248            },
   249            "session": "session0"
   250          }
   251        },
   252        {
   253          "name": "targetedFailPoint",
   254          "object": "testRunner",
   255          "arguments": {
   256            "session": "session0",
   257            "failPoint": {
   258              "configureFailPoint": "failCommand",
   259              "mode": {
   260                "times": 1
   261              },
   262              "data": {
   263                "failCommands": [
   264                  "abortTransaction"
   265                ],
   266                "errorCode": 91
   267              }
   268            }
   269          }
   270        },
   271        {
   272          "name": "abortTransaction",
   273          "object": "session0"
   274        },
   275        {
   276          "name": "assertSessionUnpinned",
   277          "object": "testRunner",
   278          "arguments": {
   279            "session": "session0"
   280          }
   281        },
   282        {
   283          "name": "startTransaction",
   284          "object": "session0"
   285        },
   286        {
   287          "name": "insertOne",
   288          "object": "collection0",
   289          "arguments": {
   290            "document": {
   291              "x": 1
   292            },
   293            "session": "session0"
   294          }
   295        },
   296        {
   297          "name": "abortTransaction",
   298          "object": "session0"
   299        }
   300      ]
   301    },
   302    {
   303      "description": "unpin when a new transaction is started",
   304      "operations": [
   305        {
   306          "name": "startTransaction",
   307          "object": "session0"
   308        },
   309        {
   310          "name": "insertOne",
   311          "object": "collection0",
   312          "arguments": {
   313            "document": {
   314              "x": 1
   315            },
   316            "session": "session0"
   317          }
   318        },
   319        {
   320          "name": "commitTransaction",
   321          "object": "session0"
   322        },
   323        {
   324          "name": "assertSessionPinned",
   325          "object": "testRunner",
   326          "arguments": {
   327            "session": "session0"
   328          }
   329        },
   330        {
   331          "name": "startTransaction",
   332          "object": "session0"
   333        },
   334        {
   335          "name": "assertSessionUnpinned",
   336          "object": "testRunner",
   337          "arguments": {
   338            "session": "session0"
   339          }
   340        }
   341      ]
   342    },
   343    {
   344      "description": "unpin when a non-transaction write operation uses a session",
   345      "operations": [
   346        {
   347          "name": "startTransaction",
   348          "object": "session0"
   349        },
   350        {
   351          "name": "insertOne",
   352          "object": "collection0",
   353          "arguments": {
   354            "document": {
   355              "x": 1
   356            },
   357            "session": "session0"
   358          }
   359        },
   360        {
   361          "name": "commitTransaction",
   362          "object": "session0"
   363        },
   364        {
   365          "name": "assertSessionPinned",
   366          "object": "testRunner",
   367          "arguments": {
   368            "session": "session0"
   369          }
   370        },
   371        {
   372          "name": "insertOne",
   373          "object": "collection0",
   374          "arguments": {
   375            "document": {
   376              "x": 1
   377            },
   378            "session": "session0"
   379          }
   380        },
   381        {
   382          "name": "assertSessionUnpinned",
   383          "object": "testRunner",
   384          "arguments": {
   385            "session": "session0"
   386          }
   387        }
   388      ]
   389    },
   390    {
   391      "description": "unpin when a non-transaction read operation uses a session",
   392      "operations": [
   393        {
   394          "name": "startTransaction",
   395          "object": "session0"
   396        },
   397        {
   398          "name": "insertOne",
   399          "object": "collection0",
   400          "arguments": {
   401            "document": {
   402              "x": 1
   403            },
   404            "session": "session0"
   405          }
   406        },
   407        {
   408          "name": "commitTransaction",
   409          "object": "session0"
   410        },
   411        {
   412          "name": "assertSessionPinned",
   413          "object": "testRunner",
   414          "arguments": {
   415            "session": "session0"
   416          }
   417        },
   418        {
   419          "name": "find",
   420          "object": "collection0",
   421          "arguments": {
   422            "filter": {
   423              "x": 1
   424            },
   425            "session": "session0"
   426          }
   427        },
   428        {
   429          "name": "assertSessionUnpinned",
   430          "object": "testRunner",
   431          "arguments": {
   432            "session": "session0"
   433          }
   434        }
   435      ]
   436    }
   437  ]
   438}

View as plain text