Allow arbitrary parameters to `bulkWrite` requests

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: Bulk API, CRUD
    • None
    • None
    • Go Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      GODRIVER-3582's original purpose was to allow internal users like C2C to pass arbitrary arguments to `bulkWrite` commands. That ticket's scope was later reduced to implementing a custom bypassEmptyTsReplacement parameter.

      That doesn't solve our problem, however. We need to be able to pass arbitrary parameters in `bulkWrite` requests. (Or, as 3582 first requested, we need to be able to reuse the driver's parsing of `bulkWrite` cursor responses.) This will let us use undocumented (but mission-critical) interfaces (e.g., collectionUUID) without depending on the driver to expose public APIs for them.

      For context: historically we’ve achieved this via RunCommand() and RunCommandCursor(). But v8’s new `bulkWrite` command presents a new paradigm: parsing a cursor to determine errors. RunCommandCursor() can’t do that for us; we need the driver’s logic here. (Otherwise we incur substantial risk by writing our own bespoke error-handling, which we definitely prefer to avoid.)

            Assignee:
            Unassigned
            Reporter:
            Felipe Gasper
            None
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: