[SERVER-81376] [CQF] Disable NotPushdown by default Created: 22/Sep/23  Updated: 06/Nov/23  Resolved: 06/Nov/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.2.0-rc0

Type: Task Priority: Major - P3
Reporter: Hana Pearlman Assignee: Hana Pearlman
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-79205 [CQF] $not $eq array, on a missing fi... Open
related to SERVER-80239 [CQF] Re-consider comparison against ... Backlog
Assigned Teams:
Query Optimization
Backwards Compatibility: Fully Compatible
Sprint: QO 2023-10-02, QO 2023-10-16, QO 2023-10-30, QO 2023-11-13
Participants:

 Description   

As part of the discussion for SERVER-79205, we decided to disable the NotPushdown rewrite by default to make CQF and classic behavior consistent on queries containing $not. Shortly after M2, we intend to revisit the discussion of comparisons against missing fields in bonsai (SERVER-80239) and may be able to re-enable the NotPushdown rewrite.

As part of this ticket, we may decide to introduce a query knob controlling whether or not the NotPushdown rewrite is enabled.



 Comments   
Comment by Githook User [ 06/Nov/23 ]

Author:

{'name': 'Hana Pearlman', 'email': 'hana.pearlman@mongodb.com', 'username': 'HanaPearlman'}

Message: SERVER-81376: Disable NotPushdown optimization by default
Branch: master
https://github.com/mongodb/mongo/commit/06422aef318436b4b0e8bec12fabcfecd7b84dd6

Comment by Hana Pearlman [ 25/Sep/23 ]

As part of this ticket, we can consider adjusting EvalFilter so that it does not clamp Nothing to false. This would simplify the SBE plans for M2 and would be correct because the clamping was only introduced to support $not queries. However, this would also change the results of some force-bonsai tests which cover $not behavior because it will make it more like to run into SERVER-79205. This is probably acceptable in the short term, as it will be fixed as part of SERVER-79205 and/or SERVER-80239 This is not relevant anymore because we've decided to keep $not in the supported list for M2

Generated at Thu Feb 08 06:46:19 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.