-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
QE 2021-08-23, QE 2021-09-06, QE 2021-09-20
-
132
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.