[DRIVERS-2025] Update ChangeStreamEvent type definition to include clusterTime Created: 10/Jan/22  Updated: 14/Sep/22

Status: Implementing
Project: Drivers
Component/s: Change Streams
Fix Version/s: None

Type: Spec Change Priority: Trivial - P5
Reporter: Patrick Freed Assignee: Abraham Egnor
Resolution: Unresolved Votes: 0
Labels: leads-triage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
split to JAVA-4720 Update ChangeStreamEvent type definit... Closed
split to PHPLIB-945 Sync change stream spec tests for clu... Closed
split to DRIVERS-2443 Add `serverless: forbid` to change st... Implementing
split to CDRIVER-4469 Update ChangeStreamEvent type definit... Backlog
split to CXX-2571 Update ChangeStreamEvent type definit... Backlog
split to CSHARP-4305 Update ChangeStreamEvent type definit... Closed
split to GODRIVER-2538 Update ChangeStreamEvent type definit... Closed
split to MOTOR-1024 Update ChangeStreamEvent type definit... Closed
split to NODE-4605 Update ChangeStreamEvent type definit... Closed
split to PYTHON-3420 Update ChangeStreamEvent type definit... Closed
split to RUBY-3106 Update ChangeStreamEvent type definit... Closed
split to RUST-1461 Update ChangeStreamEvent type definit... Closed
Related
related to DRIVERS-2443 Add `serverless: forbid` to change st... Implementing
is related to DRIVERS-471 Add clusterTime property to static ty... Closed
Driver Changes: Needed
Downstream Changes Summary:

DRIVERS-471 introduced a requirement that drivers which use a static type for ChangeStreamEvent documents include the clusterTime field. The Change Streams spec includes a sketch of a such a type, but it was not updated to include a clusterTime field. To ensure the spec is up to date, we should add such a field.

Drivers should sync unified change stream spec tests to mongodb/specifications@d9a0e7b.

Driver Compliance:
Key Status/Resolution FixVersion
CDRIVER-4469 Backlog
CXX-2571 Backlog
CSHARP-4305 Done 2.18.0
GODRIVER-2538 Done
JAVA-4720 Fixed 4.8.0
NODE-4605 Fixed 4.10.0
MOTOR-1024 Duplicate
PYTHON-3420 Fixed 4.3
PHPLIB-945 Fixed 1.15.0
RUBY-3106 Fixed 2.19.0
RUST-1461 Fixed 2.4.0
SWIFT-1632 Fixed 1.4.0

 Description   

Summary

DRIVERS-471 introduced a requirement that drivers which use a static type for ChangeStreamEvent documents include the clusterTime field. The Change Streams spec includes a sketch of a such a type, but it was not updated to include a clusterTime field. To ensure the spec is up to date, we should add such a field.

Motivation

Who is the affected end user?

Driver authors

How does this affect the end user?

New drivers may accidentally omit this field, since the specifications don't mention it.

How likely is it that this problem or use case will occur?

Somewhat likely, though we don't have any new drivers being worked on right now.

If the problem does occur, what are the consequences and how severe are they?

Users won't be able to retrieve the clusterTime from an event document. Consequences are not severe.

Is this issue urgent?

No

Is this ticket required by a downstream team?

No

Is this ticket only for tests?

No



 Comments   
Comment by Jeffrey Yemin [ 13/Sep/22 ]

abraham.egnor@mongodb.com, I think the new test needs a serverless: forbid in the runOnRequirements.

Comment by Githook User [ 01/Sep/22 ]

Author:

{'name': 'Abraham Egnor', 'email': 'abraham.egnor@mongodb.com', 'username': 'abr-egn'}

Message: DRIVERS-2025 Include the "clusterTime" field in ChangeStreamDocument (#1139)
Branch: master
https://github.com/mongodb/specifications/commit/d9a0e7b2346c4d1b88fafa7419ff54ea6009ffc8

Comment by Abraham Egnor [ 02/Feb/22 ]

Flagging for leads-triage: this is an easy update (<1 day of work) and it's valuable to keep the spec up to date with actual practice.

Generated at Thu Feb 08 08:24:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.