-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Component/s: Change Streams, CSOT, Unified Test Runner
-
None
-
Needed - No Spec Changes
-
The latest 9.0 release intentionally can delay opening a current-time change stream for correctness (SPM-1941). The effects of this is that a (all node) cluster change stream can't emit its initial resume token (postBatchResumeToken) until the config server's cluster time advances past the start time, and in an idle cluster the only thing that advances the cluster time is the periodic noop periodicNoopIntervalSecs which is 1 on config servers and might be tunable.
This is causing evergreen failures for drivers that have implemented CSOT, but would be relevant to any driver capable of applying maxTimeMS < 1s (config server's periodicNoopIntervalSecs) to a changeStream aggregation command.
Motivation
Who is the affected end user?
Drivers
How does this affect the end user?
N/A
How likely is it that this problem or use case will occur?
Always on 9.0+ sharded clusters
If the problem does occur, what are the consequences and how severe are they?
C/I failures
Is this issue urgent?
Require to unskipped pass CSOT tests
Is this ticket required by a downstream team?
NA
Is this ticket only for tests?
Yes
Acceptance Criteria
Extend the unified test format to include a runner option for advancing the config server's cluster time immediately before opening a change stream. Here is an example of a possible algorithm in Go: -https://github.com/mongodb/mongo-go-driver/pull/2462/changes#diff-a80b4a3e952da51ce06961cdfb4e90b413ed2c067b0a6940c8609f1e64b69486R103-
Skip the affected tests on 9.0+ sharded clusters.
- related to
-
SERVER-129623 Sharded change stream open blocks ~1s (periodicNoopIntervalSecs?) before returning the first batch
-
- Needs Scheduling
-
- split to
-
PYTHON-5918 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Needs Triage
-
-
CSHARP-6112 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Backlog
-
-
NODE-7656 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- In Code Review
-
-
JAVA-6247 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Ready for Work
-
-
RUBY-3910 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Ready for Work
-
-
CDRIVER-6361 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Closed
-
-
CXX-3526 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Closed
-
-
PHPLIB-1911 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Closed
-
-
RUST-2451 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Closed
-
-
GODRIVER-4011 Skip time-sensitive CSOT tests opening change streams on 9.0+ sharded clusters
-
- Investigating
-