Skip to content

Client Backpressure#1918

Open
stIncMale wants to merge 2 commits intomainfrom
backpressure
Open

Client Backpressure#1918
stIncMale wants to merge 2 commits intomainfrom
backpressure

Conversation

@stIncMale
Copy link
Member

@stIncMale stIncMale commented Mar 21, 2026

TODO-BACKPRESSURE is the tag we use to leave TODOs in PRs for the backpressure branch that must be addressed before the current PR is merged in main. When we are leaving such a comment, and we know who should be responsible for addressing it, we should add the name of that engineer in the comment (for example, @stIncMale uses TODO-BACKPRESSURE Valentin for the TODOs he should address).

JAVA-5942, JAVA-6019

…ABEL` (#1926)

This commit only adds the labels, and does not fully implement the tickets specified below.

The reason there are four JAVA tickets specified is that the is a single specification commit that resolved the four corresponding DRIVERS tickets. All of these JAVA tickets have to be done together.

The relevant spec changes:
- https://github.com/mongodb/specifications/blame/ba14b6bdc1dc695aa9cc20ccf9378592da1b2329/source/client-backpressure/client-backpressure.md#L52-L80 - it's a subset of [DRIVERS-3239, DRIVERS-3411, DRIVERS-3370, DRIVERS-3412: Client backpressure (#1907)](mongodb/specifications@1125200)

JAVA-5956, JAVA-6117, JAVA-6113, JAVA-6119
Copy link
Member Author

@stIncMale stIncMale Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO-BACKPRESSURE Valentin

Before merging in main, make sure that all the code in the backpressure branch uses the MongoException.TRANSIENT_TRANSACTION_ERROR_LABEL/UNKNOWN_TRANSACTION_COMMIT_RESULT_LABEL/SYSTEM_OVERLOADED_ERROR_LABEL/RETRYABLE_ERROR_LABEL and CommandOperationHelper.RETRYABLE_WRITE_ERROR_LABEL/NO_WRITES_PERFORMED_ERROR_LABEL constants instead of using the TransientTransactionError/UnknownTransactionCommitResult/SystemOverloadedError/RetryableError and RetryableWriteError/NoWritesPerformed literals.

BsonDocument helloCommandDocument = new BsonDocument(getHandshakeCommandName(), new BsonInt32(1))
.append("helloOk", BsonBoolean.TRUE);
.append("helloOk", BsonBoolean.TRUE)
.append("backpressure", BsonBoolean.TRUE);
Copy link
Member Author

@stIncMale stIncMale Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nhachicha

The commit ac1c120 introduced by #1906 for JAVA-6035 should have implemented, as far as I understand, the Test 9: Handshake documents include backpressure: true prose test (though the PR says nothing about the relevant spec changes it was meant to implement).

If the above is correct, let's reopen JAVA-6035 and create another PR for that ticket that will implement the prose test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants