Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-6558

Investigate changes in SERVER-72687: Support for $out to Time-series collections

    • Type: Icon: Investigation Investigation
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • No version
    • Affects Version/s: None
    • Component/s: None
    • None
    • Not Needed

      Original Downstream Change Summary

      These changes add a new option ("timeseries") for the $out aggregation stage. $out will now accept a "timeseries" option that takes in a time-series specification. $out will create a new time-series collection in the specified namespace if an existing collection does not exist in that namespace. If a collection exists in that namespace, $out will do the following:

      1. If the collection is not a time-series collection, $out will error.
      2. If the collection is a time-series collection $out will error if the timeField and the metaField have been changed by the user. The time-series specification inputted in $out must match the existing time-series collection.
      3. If the collection is a time-series collection and matches the specification passed in by the user $out will replace that existing time-series collection with the documents in the aggregation stage.

      These changes are not supported for sharded collections. There is currently follow-up work tracked by SERVER-74061 currently in progress to add support for secondaries and sharded clusters.

      For more information the syntax doc can be found at this link: https://docs.google.com/document/d/15lAB2yQ8e_fR4RnihjsJMotEaIiTe9q_qk-D509DWkM/edit?usp=sharing

      Description of Linked Ticket

      We should accept the time-series spec in the $out stage and use that to create a time-series collection as part of the DocumentSourceOut stage. This should remove any restriction prohibiting $out from targeting an unsharded time-series collection, and add tests that verify the correct behavior. We don't need to support sharded time-series collection as part of this ticket.

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: