-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Removes the TODO and switchifEmpty stage #1454
Conversation
Initial client side operation timeout (CSOT) work. The CSOT class is passed to all operations and currently encapsulate the following timeouts: - `timeoutMS` the new optional client side operation timeout - `maxTimeMS` the legacy maxTimeMS operation value. Ignored if CSOT is set. - `maxCommitTimeMS` the legacy commit timeout. Ignored if CSOT is set. - `maxAwaitTimeMS` the getMore await timeout. This initial work allows for the CSOT to be available to all operations and later work will pass / apply this timeout where required by the Spec. JAVA-4086
# Conflicts: # driver-core/src/main/com/mongodb/ConnectionString.java # driver-core/src/test/unit/com/mongodb/MongoClientSettingsSpecification.groovy
…terface (mongodb#1194) JAVA-5112
An immutable class that contains all user configured timeouts. This will eventaually allow access to user configuration down the stack into Bindings / Cluster.selectServer and Connection.command. JAVA-5169
In preparation for adding all contexts to OperationContext JAVA-5170
This will allow the timeout settings to be available to the Binding and this will allow the binding to create the TimeoutContext for the operation. JAVA-5170
Now contains RequestContext, SessionContext and TimeoutContext JAVA-5170
Operations now supply TimeoutSettings JAVA-5170
Pass OperationContext as a whole instead of RequestContext, SessionContext, TimeoutContext and ServerAPI JAVA-5170
Adds support for Explainable operations JAVA-5172
# Conflicts: # driver-core/src/main/com/mongodb/internal/connection/BaseCluster.java # driver-core/src/main/com/mongodb/internal/connection/LoadBalancedCluster.java # driver-core/src/test/functional/com/mongodb/ClusterFixture.java # driver-core/src/test/unit/com/mongodb/internal/connection/BaseClusterSpecification.groovy # driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/ClientSessionBinding.java # driver-reactive-streams/src/test/unit/com/mongodb/reactivestreams/client/internal/ClientSessionBindingSpecification.groovy # driver-sync/src/test/unit/com/mongodb/client/internal/ClientSessionBindingSpecification.groovy
- Resolve regression where CSOT exception is exposed despite CSOT being disabled. - Correct premature decrease in connect timeout before connection initiation. - Encapsulate logic within TimeoutContext. JAVA-5439
JAVA-5402 Co-authored-by: Valentin Kovalenko <valentin.male.kovalenko@gmail.com>
Co-authored-by: Valentin Kovalenko <valentin.kovalenko@mongodb.com> Co-authored-by: Maxim Katcharov <maxim.katcharov@mongodb.com> Co-authored-by: Jeff Yemin <jeff.yemin@mongodb.com> Co-authored-by: ashni <105304831+ashni-mongodb@users.noreply.github.com>
# Conflicts: # THIRD-PARTY-NOTICES # config/spotbugs/exclude.xml # driver-core/src/main/com/mongodb/internal/connection/Authenticator.java # driver-core/src/main/com/mongodb/internal/connection/DefaultAuthenticator.java # driver-core/src/main/com/mongodb/internal/connection/InternalConnection.java # driver-core/src/main/com/mongodb/internal/connection/InternalStreamConnection.java # driver-core/src/main/com/mongodb/internal/connection/InternalStreamConnectionInitializer.java # driver-core/src/main/com/mongodb/internal/connection/OidcAuthenticator.java # driver-core/src/main/com/mongodb/internal/connection/SaslAuthenticator.java # driver-core/src/test/functional/com/mongodb/ClusterFixture.java # driver-core/src/test/unit/com/mongodb/internal/connection/AbstractConnectionPoolTest.java # driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/syncadapter/SyncMongoClient.java # driver-sync/src/test/functional/com/mongodb/client/csot/ClientSideOperationsEncryptionTimeoutProseTest.java # driver-sync/src/test/functional/com/mongodb/client/unified/Entities.java
# Conflicts: # driver-sync/src/main/com/mongodb/client/gridfs/GridFSDownloadStreamImpl.java # driver-sync/src/main/com/mongodb/client/gridfs/GridFSUploadStreamImpl.java
- Mark session as dirty when MongoSocketException occurs. - Skip killCursors command execution when getMore fails in LOAD_BALANCER mode. JAVA-5474 JAVA-5476
- Re-enable tests that were previously disabled. - Add additional assertions to enhance test reliability. - Implement ignoreExtraEvents override to address flakiness in tests with race conditions. - Fix issue where timeoutContext is null in subsequent commit transactions. - Reduce timeouts in serverless tests to ensure they pass. JAVA-5104
JAVA-5379 * Remove usages of hasExpired * Replace RetryState's timeout with retryUntilTimeoutThrowsException
JAVA-5379
# Conflicts: # driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/unified/UnifiedServerDiscoveryAndMonitoringTest.java # driver-sync/src/test/functional/com/mongodb/client/unified/UnifiedTest.java
There is an existing patch(es) for this commit SHA: Please note that the status that is posted is not in the context of this PR but rather the (latest) existing patch and that may affect some tests that may depend on the particular PR. If your tests do not rely on any PR-specific values (like base or head branch name) then your tests will report the same status. If you would like a patch to run in the context of this PR and abort the other(s), comment 'evergreen retry'. |
As
clientSessionHelper.withClientSession
will always produce a session, there is no need for theswitchIfEmpty
branch.