Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-59434

Audit expressions for argument type checking errors and preemptively ignore SBE/classic engine differences in the fuzzers

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      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.

            Assignee:
            mohammad.dashti@mongodb.com Mohammad Dashti (Inactive)
            Reporter:
            kyle.suarez@mongodb.com Kyle Suarez
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: