ExportXMLWordPrintableJSON

    • Needed - No Spec Changes
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6555 Blocked
      CXX-3624 Blocked
      CSHARP-6297 Blocked
      GODRIVER-4242 Needs Review
      JAVA-6365 Blocked
      NODE-7992 Blocked
      PYTHON-6225 Blocked
      PHPLIB-1991 Blocked
      RUBY-4016 Blocked
      RUST-2544 Blocked
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-6555 Blocked CXX-3624 Blocked CSHARP-6297 Blocked GODRIVER-4242 Needs Review JAVA-6365 Blocked NODE-7992 Blocked PYTHON-6225 Blocked PHPLIB-1991 Blocked RUBY-4016 Blocked RUST-2544 Blocked

      Summary

      The CRUD bulk write spec says:

      Encountering a top-level error MUST halt execution of a bulk write for both ordered and unordered bulk writes. This means that drivers MUST NOT attempt to retrieve more responses from the cursor or execute any further bulkWrite batches and MUST immediately throw an exception. If the results cursor has not been exhausted on the server when a top-level error occurs, drivers MUST send the killCursors command to attempt to close it.

      Motivation

      We want prose tests covering both halves of the requirement, for both ordered and unordered bulk writes.

      Acceptance Criteria

      • Add a prose test with a bulk write that needs at least 2 batches. Fail the first bulkWrite with a fail point and assert that only one bulkWrite command was sent. The error may be a plain top-level error rather than a BulkWriteException.
      • Cursor: add a prose test whose results need at least 2 getMores. Fail the first getMore and assert that only one getMore was sent and that killCursors was sent. This  is a new test rather than a change to prose test 9, because changing 9 would alter its existing assertions (e.g. upsertedCount).
      • Run both tests with ordered: true and ordered: false.

      POC in Go: https://github.com/10gen/go-driver-tools/blob/0dfc6b6e2efdb647f2c2b5e866b5022292ae5db6/preston/repros/2.9.2/godriver_4169_test.go#L94-L159

            Assignee:
            Preston Vasquez
            Reporter:
            Preston Vasquez
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: