[SERVER-62042] Add/refactor query knobs to allow forcing CQF code path Created: 14/Dec/21  Updated: 29/Oct/23  Resolved: 08/Aug/22

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

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

Issue Links:
Depends
Duplicate
is duplicated by SERVER-59972 Create (or modify existing) Feature f... Closed
Problem/Incident
Related
Backwards Compatibility: Minor Change
Sprint: QO 2022-07-11, QO 2022-07-25, QO 2022-08-08, QO 2022-08-22
Participants:
Linked BF Score: 164

 Description   

The POC had a flag for enabling the new optimizer, but it would also be interesting to be able to cover the following scenarios:

  • Force the new optimizer even if unsupported (aka ignore the fallback)
  • Force SBE + DocumentSource (5.2)
  • Force entirely classic

Ideally we don't have individual, conflicting knobs for each of these cases but instead a string enum.



 Comments   
Comment by Nicholas Zolnierz [ 08/Aug/22 ]

The bot missed a commit for this ticket that fixed an integration test: https://github.com/mongodb/mongo/commit/e16c09dbe5ad520fe54f8c7e0e1b5aca13c08f70

Comment by Githook User [ 05/Aug/22 ]

Author:

{'name': 'Nick Zolnierz', 'email': 'nicholas.zolnierz@mongodb.com', 'username': 'nzolnierzmdb'}

Message: SERVER-62042 Update references to internalQueryForceClassicEngine to use the new knob (#1075)
Branch: master
https://github.com/10gen/dsi/commit/b5647e9f32c7714196c70e394040ab909030e02e

Comment by Githook User [ 05/Aug/22 ]

Author:

{'name': 'Nick Zolnierz', 'email': 'nicholas.zolnierz@mongodb.com', 'username': 'nzolnierzmdb'}

Message: SERVER-62042 Update usages of internalQueryForceClassicEngine to use the new knob (#716)
Branch: master
https://github.com/mongodb/genny/commit/0197c781fe38048795e574bd2ecbf8a95356d114

Comment by Githook User [ 04/Aug/22 ]

Author:

{'name': 'Nicholas Zolnierz', 'email': 'nicholas.zolnierz@mongodb.com', 'username': 'nzolnierzmdb'}

Message: SERVER-62042 Consolidate query optimization and execution control into a single knob
Branch: master
https://github.com/mongodb/mongo/commit/cdd2775640387ff7ec9e20dd7d24295216ace664

Comment by Githook User [ 04/Aug/22 ]

Author:

{'name': 'auto-revert-processor', 'email': 'dev-prod-dag@mongodb.com'}

Message: Revert "SERVER-62042 Consolidate query optimization and execution control into a single knob"

This reverts commit c9bbd1cfae470f2b3229e69957f512d2a2db6663.
Branch: master
https://github.com/mongodb/mongo/commit/757f6f229366ff938c7768322efc6effe2218389

Comment by Kyle Suarez [ 15/Dec/21 ]

nicholas.zolnierz yeah that makes sense – I do think that an enum probably makes the most sense and is the cleanest to control, though we'd have to go through and do a bunch of cleanup surrounding the old "force classic engine" flag.

Comment by Nicholas Zolnierz [ 15/Dec/21 ]

kyle.suarez thats a possibility, yeah. I suppose we either keep the existing one and add a lower priority enum knob that allows a user to control the exact CQF path, or we roll the existing knob into the enum one. Does that make sense?

Comment by Kyle Suarez [ 15/Dec/21 ]

Would we replace the existing internalQueryForceClassicEngine in favor of the new thing?

Generated at Thu Feb 08 05:54:00 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.