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

Productionize timeseries $emit expression support (dynamic routing)

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Atlas Streams
    • Sprint 65

      1. Today, we perform validations on the target db.collection namespace to determine whether it is a timeseries collection and therefore a valid target for $emit. We've foregone this validation in the initial ticket for dynamic content routing in $emit. We should perform this validation in this ticket as well as caching the mongocxx::collection in a LRU cache.
      2. Introduce a cache for mongocxx::collection objects.
      3. Add DLQ behavior for failing expressions.
      4. Add more tests.
        1. Include at least one test that uses the inmemorysource and flows a single batch with documents routed to different collections.
      5. The method getTimeseriesOptionsFromDb() in the TimeSeriesOperator assumes db and coll are string literals and that the database and collection have already been created. This should be refactored.

            Assignee:
            Unassigned Unassigned
            Reporter:
            andrew.chen@mongodb.com Andrew Chen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: