-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
In SERVER-94144 we determined that query stats should not actually be validating anything on that code path, since it should be taken care of elsewhere already. There's no great way to do that right now, so we want to add a way to skip validation - perhaps just reusing and rebranding 'isFacetPipeline'.
Additionally, we got confused by the logic here during SERVER-94144 and showed how a change to this logic accidentally introduced a regression in what pipelines are considered legal.
This ticket tracks the work to go in and try to clarify the interface and rules for this function. For example:
- 'validateTopLevelPipeline' is called even for nested pipelines (but not facet ones), and it's sort of unclear at a glance how it's different than 'validateCommon'.
- The 'validator' callback function is more like 'extraValidation', it does not replace the validation as it once did. Could be clarified.
- depends on
-
SERVER-94226 Expand test coverage for nested pipelines with differently scoped namespaces
- Open
- related to
-
SERVER-94144 [v7.0] $documents inside $lookup fails to parse with QueryStats
- Closed
-
SERVER-85503 Add an open()-like API to DocumentSources to do non-parsing validation
- Blocked
-
SERVER-94231 Query should not fail if queryStats fails to compute key
- Closed
-
SERVER-94238 Query should not fail if querySettings fails to compute key
- Closed