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

Allow to log usage of operations not supported by the Stable API without error for a client

    • Query Optimization

      In the server documentation, we have a list of supported/not supported commands, but there’s no easy way to determine if the driver methods are using those commands in the drivers.
      Mapping between server commands and methods is straightforward, but the stable API is more than about methods. It also encompasses the entire query and update language. So for example, the aggregate command is certainly part of the stable API, but a subset of stages and expressions are not part of the stable API, and when they become part of it changes from release to release. So in practice, static analysis of an application to determine whether it's valid with the stable API is not feasible, and you just have to run the application to determine whether there are any problems. But setting strict: true will result in errors.
      If there was a way to run the application with strict: false and collect warnings in the log for further analysis, this would allow preparing an application for switching to strict:true.

            Assignee:
            backlog-query-optimization [DO NOT USE] Backlog - Query Optimization
            Reporter:
            kateryna.kamenieva@mongodb.com Katya Kamenieva
            Votes:
            5 Vote for this issue
            Watchers:
            17 Start watching this issue

              Created:
              Updated: