Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-3036

Remove the BSON document size validation requirement for the client bulk write operation

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: CRUD
    • None
    • Needed
    • Hide

      Summary of necessary driver changes

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

      •  

      Context for other referenced/linked tickets

      •  
      Show
      Summary of necessary driver changes  Stop validating the size of BSON documents when issuing the bulkWrite command, if possible, as specified in https://github.com/mongodb/specifications/commit/3a4e2da291387bbd60edf841d064fdd9220e5829 . Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed)   Context for other referenced/linked tickets  
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-5803 Works as Designed
      CXX-3172 Backlog
      CSHARP-5405 In Code Review
      GODRIVER-3421 In Progress
      JAVA-5695 Done
      NODE-6526 Backlog
      MOTOR-1409 Duplicate
      PYTHON-4952 Backlog
      PHPLIB-1588 Backlog
      RUBY-3590 Backlog
      RUST-2093 Won't Do
      $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 */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-5803 Works as Designed CXX-3172 Backlog CSHARP-5405 In Code Review GODRIVER-3421 In Progress JAVA-5695 Done NODE-6526 Backlog MOTOR-1409 Duplicate PYTHON-4952 Backlog PHPLIB-1588 Backlog RUBY-3590 Backlog RUST-2093 Won't Do

      Summary

      Currently, the client bulk write specification requires clients to validate BSON document size when a server acknowledgement is not expected, and forbids them to validate when a server acknowledgement is expected. We can simplify this requirement by always forbidding clients to validate the size of a BSON document. Given that unacknowledged writes does not provide a way to know whether a write succeeded on the server, it does not seem necessary to help an application with that info in the specific situation when the BSON document size limit is exceeded.

      Motivation

      Who is the affected end user?

      Driver maintainers.

      How does this affect the end user?

      Simplifies the specification, and some implementations, like the Java driver implementation.

      How likely is it that this problem or use case will occur?

      N/A

      If the problem does occur, what are the consequences and how severe are they?

      N/A

      Is this issue urgent?

      It's better to make a decision now, as the new bulk write operation is being implemented now.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      No.

      Acceptance Criteria

      N/A

            Assignee:
            valentin.kovalenko@mongodb.com Valentin Kavalenka
            Reporter:
            valentin.kovalenko@mongodb.com Valentin Kavalenka
            Jeffrey Yemin Jeffrey Yemin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: