Revert DocumentSourceExtension back to using a static Id

XMLWordPrintableJSON

    • Query Integration
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      In https://jira.mongodb.org/browse/SERVER-112507, we declared that the traditional static DocumentSource id allocation does not work for extensions as one DocumentSourceExtension may not be correlated to the same stage name as another DocumentSourceExtension. Thus, they need different ids.

      However, upon further investigation, this isn't true. DocumentSource registration is done by stage name, meaning that $foo will have a different parser implementation than $bar, even if they are both DocumentSourceExtensions. The Id is necessary to connect the DocumentSource to the exec::agg ExtensionStage. As such, it's ok for the id to remain static as all DocumentSourceExtensions will have the same ExtensionStage implementation (get the _logicalStage from the DocumentSourceExtensionOptimizable and call compile() on it).

            Assignee:
            Josh Siegel
            Reporter:
            Josh Siegel
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: