Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-25473

mongos attempts to optimize a pipeline without having injected an expression context

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical - P2
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3.11
    • Component/s: Aggregation Framework
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Query 2016-08-29
    • Linked BF Score:
      0

      Description

      PipelineCommand::run() in cluster_pipeline_cmd.cpp calls Pipeline::parse() and then Pipeline::optimizePipeline() without resolving the collator and calling Pipeline::injectExpressionContext() in between.

      // Parse and optimize the pipeline specification.
      auto pipeline = Pipeline::parse(request.getValue().getPipeline(), mergeCtx);
      if (!pipeline.isOK()) {
          return appendCommandStatus(result, pipeline.getStatus());
      }
      pipeline.getValue()->optimizePipeline();
      

        Attachments

          Activity

            People

            Assignee:
            charlie.swanson Charlie Swanson
            Reporter:
            max.hirschhorn Max Hirschhorn
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: