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

Implement javascript test harness infrastructure for RAMI algorithm testing

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • QE 2024-07-22, QE 2024-08-05

      Framework for testing algorithms against scenarios.

      There will be a list of scenario functions, each returning a pair of query stats. The first element of the pair is classic engine, the second is SBE engine.

      There will be a list of algorithm functions that take the query stats pairs as inputs. For this milestone, a single placeholder algorithm suffices. These algorithm functions return true if there is a regression and false otherwise.

      The scenarios will use a uniform interface to set up and populate their base collections. This interface may start with a very simple data generation method. Task 6 will add more sophistication around e.g. collection size, distribution of values, nested documents, etc.

      Note - SPM-3818 may provide detailed statistical information beyond two aggregated query stats buckets. To avoid taking a dependency on that work, we assume for now that the input to the algorithm is bucketed query stats. As progress in 3818 proceeds, we may adapt our input definition as needed.

      The placeholder algorithm is very simple and does not depend on any specifics of the input data format.

      Result - engineers have a shared testing codebase to collaborate in and can in parallel work on any of the remaining tasks in this milestone.

            Assignee:
            evan.bergeron@mongodb.com Evan Bergeron
            Reporter:
            evan.bergeron@mongodb.com Evan Bergeron
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: