[SERVER-60389] [SBE] Rewrite engine specific assertions to be multiversion compatible Created: 01/Oct/21 Updated: 29/Oct/23 Resolved: 12/Oct/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 5.2.0, 5.1.0-rc1 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jennifer Peshansky (Inactive) | Assignee: | Mihai Andrei |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Backport Requested: |
v5.1
|
||||||||
| Sprint: | QE 2021-10-04, QE 2021-10-18 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 66 | ||||||||
| Description |
|
Currently, the checkSBEEnabled function first assumes SBE is on, and then checks if there is a property internalQueryForceClassicEngine and if it is true, and if so, returns that SBE is off. However, the internalQueryForceClassicEngine setParameter didn't exist prior to 5.1, so in multiversion testing, SBE is incorrectly returned as on when it shouldn't be. In order to remedy this, we can flip the sense of the check. The checkResult flag should really be called isSBEEnabled for more clarity, be initialized to false, and then the check for each node can be: We may also want to consider adding a secondary check in the case that internalQueryForceClassicEngine doesn't exist: |
| Comments |
| Comment by Githook User [ 12/Oct/21 ] |
|
Author: {'name': 'Mihai Andrei', 'email': 'mihai.andrei@10gen.com', 'username': 'mtandrei'}Message: Co-authored-by Mickey. J Winters <mickey.winters@mongodb.com> |
| Comment by Githook User [ 12/Oct/21 ] |
|
Author: {'name': 'Mihai Andrei', 'email': 'mihai.andrei@10gen.com', 'username': 'mtandrei'}Message: Co-authored-by Mickey. J Winters <mickey.winters@mongodb.com> |