Implement the overload retry policy for commands that are read/write retryable - #4
Draft
stIncMale wants to merge 8 commits into
Draft
Implement the overload retry policy for commands that are read/write retryable#4stIncMale wants to merge 8 commits into
stIncMale wants to merge 8 commits into
Conversation
stIncMale
force-pushed
the
overloadRetryPolicyForCommandsThatAreRWRetryable
branch
6 times, most recently
from
July 15, 2026 20:35
d1c63c3 to
5afb443
Compare
stIncMale
force-pushed
the
overloadRetryPolicyForCommandsThatAreRWRetryable
branch
4 times, most recently
from
July 30, 2026 15:33
9010353 to
64aed0a
Compare
stIncMale
force-pushed
the
overloadRetryPolicyForCommandsThatAreRWRetryable
branch
3 times, most recently
from
July 31, 2026 20:25
a5ffef2 to
21dc696
Compare
Also add `UnifiedClientBackpressureTest` and enable prose tests JAVA-6248
stIncMale
force-pushed
the
overloadRetryPolicyForCommandsThatAreRWRetryable
branch
5 times, most recently
from
August 7, 2026 21:00
fd9bd93 to
881fbc9
Compare
stIncMale
force-pushed
the
overloadRetryPolicyForCommandsThatAreRWRetryable
branch
2 times, most recently
from
August 7, 2026 23:51
62fe561 to
edbc934
Compare
- Removed `ClientSessionImpl.applyMajorityWriteConcernToTransactionOptions`, which was used in `withTransaction`. This is not the place for this logic, and it furthermore was useless, as `CommitTransactionOperation.getRetryCommandModifier` does the same, and more. - Made `ClientSessionImpl` and `ClientSessionPublisherImpl` compute `alreadyCommitted` the same way. - Made `ClientSessionImpl.commitTransaction` and `ClientSessionPublisherImpl.commitTransaction` handle `transactionState` and `commitInProgress` the same way. - Passed `OperationContext` instead of `TimeoutContext` to `AbortTransactionOperation.getRetryCommandModifier` JAVA-6248
JAVA-6248
…ot adding `startTransaction` JAVA-6248
…Operation.getRetryCommandModifier` adding `withW("majority")` when not needed
JAVA-6248
stIncMale
force-pushed
the
overloadRetryPolicyForCommandsThatAreRWRetryable
branch
from
August 8, 2026 05:24
edbc934 to
adf7aec
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JAVA-6248 - of the relevant spec changes,
client-backpressure.mdwas implemented for commands that are read/write retryable, but thetransactions.mdchanges were not implemented and will be implemented in another PR for the same ticket JAVA-6248.JAVA-6055 - conducted the audit as per the
TODO-BACKPRESSUREin the ticket. The audited logic is inSpecRetryPolicy.decideWriteProspectiveFailedResult. We are good, no code changes are needed.