[SERVER-83470] Introduce internalQueryFrameworkControl setting for 6.0-style engine selection logic Created: 20/Nov/23  Updated: 08/Jan/24  Resolved: 02/Dec/23

Status: Closed
Project: Core Server
Component/s: Query Planning
Affects Version/s: None
Fix Version/s: 7.2.1, 7.3.0-rc0, 7.0.5

Type: Task Priority: Major - P3
Reporter: David Storch Assignee: Adi Agrawal
Resolution: Fixed Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Related
related to SERVER-83685 Make internalQueryFrameworkControl "t... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v7.2, v7.0
Sprint: QE 2023-11-27, QE 2023-12-11
Participants:

 Description   

At the moment, the default setting for internalQueryFrameworkControl isĀ "trySbe", which means that the system will use SBE for all eligible queries and fallback to the classic engine otherwise. We also support "forceClassicEngine", in which case all queries use the Classic Engine. (There are other settings for this parameter related to the Bonsai optimizer which are irrelevant for this discussion.)

The goal for this ticket is to introduce a third setting for the internalQueryFrameworkControl parameter which causes the system to behave more like it did in version 6.0 – an "in between" option in which queries which can benefit from pushdown of $group or $lookup stages use SBE and all other queries use Classic.



 Comments   
Comment by Githook User [ 08/Jan/24 ]

Author:

{'name': 'Adityavardhan Agrawal', 'email': 'adi.agrawal@mongodb.com', 'username': 'Adityav369'}

Message: SERVER-83470 Introduce internalQueryFrameworkControl trySbeRestricted

(cherry picked from commit ae8b6ced5a6e566c2850c027a3469a2110bf912e)
Branch: v7.2
https://github.com/mongodb/mongo/commit/aa6d61bdd4f96f5c19a97f005ce9dc74071b57fd

Comment by Githook User [ 05/Dec/23 ]

Author:

{'name': 'Adityavardhan Agrawal', 'email': 'adi.agrawal@mongodb.com', 'username': 'Adityav369'}

Message: SERVER-83470 Introduce internalQueryFrameworkControl "trySbeRestricted"

(cherry picked from commit ae8b6ced5a6e566c2850c027a3469a2110bf912e)

GitOrigin-RevId: ada24b8cbf0d8bf9a9954c1e983e21ee2318d0db
Branch: v7.0
https://github.com/mongodb/mongo/commit/cb05c0c3f2dbc2fe211180bae2d8f80372e8756c

Comment by Githook User [ 02/Dec/23 ]

Author:

{'name': 'Adityavardhan Agrawal', 'email': 'adi.agrawal@mongodb.com', 'username': 'Adityav369'}

Message: SERVER-83470 Introduce internalQueryFrameworkControl "trySbeRestricted"
Branch: master
https://github.com/mongodb/mongo/commit/ae8b6ced5a6e566c2850c027a3469a2110bf912e

Comment by Johnny Shields [ 01/Dec/23 ]

OK, thank you. My team appreciates if MongoDB can make this clear in the release notes.

Comment by David Storch [ 01/Dec/23 ]

shields@tablecheck.com yes, our current plan is to backport this to the 7.2 and 7.0 branches. Note that we've split the work into two pieces: the new mode will be enabled as the default in related ticket SERVER-83685. So the backport of SERVER-83685 to 7.0 is where we will make 6.0-style engine selection logic the new default in 7.0. You should get this behavior automatically when upgrading to the appropriate 7.0.x on Atlas, so you will not have to explicitly request any configuration changes.

Comment by Johnny Shields [ 01/Dec/23 ]

As an Atlas customer, please clarify if I should expect this new config to be automatically applied in a 7.0.x tiny version release? Or will I have to request it specifically to Atlas support?

Comment by Johnny Shields [ 30/Nov/23 ]

This is wonderful!

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