[COMPASS-6558] Investigate changes in SERVER-72687: Support for $out to Time-series collections Created: 24/Feb/23  Updated: 26/Sep/23  Resolved: 08/Mar/23

Status: Closed
Project: Compass
Component/s: None
Affects Version/s: None
Fix Version/s: No version

Type: Investigation Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-72687 Support for $out to Time-series colle... Closed
Related
related to COMPASS-6592 Update $out stage operator template t... Closed
Documentation Changes: Not Needed

 Description   
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.



 Comments   
Comment by PM Bot [ 26/Sep/23 ]

Fix Version updated for upstream SERVER-72687:
7.1.0-rc0, 7.0.3

Comment by Rhys Howell [ 08/Mar/23 ]

Created COMPASS-6592 to update our $out aggregation template and added to 7.0 epic

Generated at Wed Feb 07 22:43:35 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.