Join Optimization: wrong result with optimized plan + timeseries

    • 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

      Apparently timeseries collections are not compatible with JOO, since enabling JOO and running the jstests/core/timeseries/query/timeseries_lookup.js test produces an empty result:

       

      2025-11-28T09:47:26.917Z assert failed : actual=[ ], expected=[[js_test:timeseries_lookup] 	{[js_test:timeseries_lookup] 		"_id" : 0,[js_test:timeseries_lookup] 		"key" : 1,[js_test:timeseries_lookup] 		"joined" : {[js_test:timeseries_lookup] 			"val1" : 42,[js_test:timeseries_lookup] 			"m" : 1[js_test:timeseries_lookup] 		}[js_test:timeseries_lookup] 	},[js_test:timeseries_lookup] 	{[js_test:timeseries_lookup] 		"_id" : 1,[js_test:timeseries_lookup] 		"key" : 2,[js_test:timeseries_lookup] 		"joined" : {[js_test:timeseries_lookup] 			"val1" : 17,[js_test:timeseries_lookup] 			"m" : 2[js_test:timeseries_lookup] 		}[js_test:timeseries_lookup] 	},[js_test:timeseries_lookup] 	{[js_test:timeseries_lookup] 		"_id" : 1,[js_test:timeseries_lookup] 		"key" : 2,[js_test:timeseries_lookup] 		"joined" : {[js_test:timeseries_lookup] 			"val1" : 20,[js_test:timeseries_lookup] 			"m" : 2[js_test:timeseries_lookup] 		}[js_test:timeseries_lookup] 	}[js_test:timeseries_lookup] ]Unexpected result for $lookup with an equality match followed by $unwind[js_test:timeseries_lookup] doassert@src/mongo/shell/assert.js:48:14[js_test:timeseries_lookup] _doassert@src/mongo/shell/assert.js:160:13[js_test:timeseries_lookup] assert@src/mongo/shell/assert.js:228:14[js_test:timeseries_lookup] assertArrayEq@/data/mci/51739ecaf73293af92b0e7b5dfd23f79/src/jstests/aggregation/extras/utils.js:460:11[js_test:timeseries_lookup] lookupAbsorbUnwindEqualityMatch@jstests/core/timeseries/query/timeseries_lookup.js:464:22[js_test:timeseries_lookup] @jstests/core/timeseries/query/timeseries_lookup.js:473:7 

            Assignee:
            Unassigned
            Reporter:
            Philip Stoev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: