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

Explicitly ban nested $rankFusions and $scoreFusions

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None

      We decided in 6WR with the product team that we won't be supporting nested $rankFusions or $scoreFusions.

       

      $rankFusion has input pipeline validation logic here, and $scoreFusion has the analogous logic here

       

      In both these cases, the error message for an invalid pipeline states that a $scoreFusion or $rankFusion is ok - so we need to update these messages.

       

      Also, write explicit unit + jstests for the banning of nested $rankFusions and $scoreFusions, and ensure the provided error message makes clear that these input pipelines are disallowed for the right reason (the error message does not need to explicitly mention "nesting").

      Follow up note:

      With new 'isScoredPipeline' implementation in SERVER-100754, we should merge that ticket first, and then add an explicit assertion in $scoreFusion and $rankFusion to ban nesting

       

            Assignee:
            Unassigned Unassigned
            Reporter:
            joseph.shalabi@mongodb.com Joe Shalabi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: