Add a new entrypoint to register a parser for an extension agg stage

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • Fully Compatible
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Aggregation stages (DocumentSources) registered via extensions will need a slightly different entrypoint than internally-registered stages. We should not use the REGISTER_DOCUMENT_SOURCE family of macros since those are invoked with the global initializers, but extensions will be loaded later than that. 

      We should add a new function like DocumentSource::registerExtensionParser that is solely used for registering extension aggregation stages. If the "name" is a duplicate of a stage already in the parserMap, an assertion should be thrown (so that startup fails). But we should allow an exception for a $vectorSearch extension stage to safely override the original implementation.

      This should all be tested with C++ unit tests.

              Assignee:
              Joanne Park
              Reporter:
              Will Buerger
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: