-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
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.
- is depended on by
-
SERVER-106242 Implement extension initialization function
-
- In Progress
-
- related to
-
SERVER-107218 Add support for non-SimpleParser extension parser registration
-
- Backlog
-