[SERVER-59434] Audit expressions for argument type checking errors and preemptively ignore SBE/classic engine differences in the fuzzers Created: 18/Aug/21 Updated: 29/Oct/23 Resolved: 07/Sep/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 5.1.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Kyle Suarez | Assignee: | Mohammad Dashti (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Sprint: | QE 2021-08-23, QE 2021-09-06, QE 2021-09-20 | ||||
| Participants: | |||||
| Linked BF Score: | 132 | ||||
| Description |
|
The new slot-based execution engine brings with it order-of-evaluation behavior for expression argument that differ from the classic execution engine. In certain cases, SBE will throw an error for invalid arguments when the classic engine would have accepted it. Because the documentation generally specifies that MongoDB will throw an error for invalid arguments, we will be accepting this new behavior as an improvement in the new SBE engine. We will respect short-circuiting behavior for expressions only when explicitly guaranteed in the documentation. The query and aggregation fuzzers flag differences in server behavior between versions. Since enabling SBE by default will cause new behavior, we should audit where existing expressions will throw invalid argument errors and preemptively ignore those errors in the fuzzer to avoid creating unnecessary BF tickets. |
| Comments |
| Comment by Vivian Ge (Inactive) [ 06/Oct/21 ] |
|
Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you! |
| Comment by Githook User [ 07/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Mohammad Dashti (Inactive) [ 07/Sep/21 ] |
|
The issue got fixed by blocklisting the errors that happen in either the classic engine or SBE (but not on the other one). |
| Comment by Githook User [ 07/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Githook User [ 07/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Githook User [ 07/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Githook User [ 07/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Githook User [ 07/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Githook User [ 07/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Githook User [ 03/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Githook User [ 02/Sep/21 ] |
|
Author: {'name': 'Mohammad Dashti', 'email': 'mdashti@gmail.com', 'username': 'mdashti'}Message: |
| Comment by Mohammad Dashti (Inactive) [ 31/Aug/21 ] |
|
Created a pull request for this issue: https://github.com/10gen/jstestfuzz/pull/518 |