Allow arbitrary parameters to `bulkWrite` requests

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • Go Drivers
    • 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
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: