-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Similar to the existing plan_stability test for CBR, we will be creating a test that presevers the current join orders for a set of pipelines.
The pipelines will be generated using a TPC-H jstestfuzz grammar and will be further narrowed down using filtering and clustering to obtain an optimal test.
For each pipeline, we will record:
- the current join order and indexes used for each collection, as a compact, single-line representation
- the current execution effort in terms of index keys and documents added, as well as potentially more counters that capture the work expended for the intermediate join operations themselves (such as the sum of all intermediate inputs or some variation thereof)
- a compact representation of the result set that allows catching not only correctness regressions that result in a different number of rows being returned but also as well as those that result in malformed documents (missing keys, null values, empty arrays, etc.). This can be an order-independent checksum or some other concise representation.
- depends on
-
SERVER-114564 Generate randomized joins for testing purposes
-
- Closed
-
-
SERVER-119723 Join Optimization Testing: Allow a jstest to access the TPC-H dataset
-
- In Code Review
-
-
SERVER-119724 Join Optimization Testing: Allow a jstest to call mongorestore
-
- Closed
-