Fall back to control connection when host pools are empty#722
Draft
dkropachev wants to merge 1 commit intoscylladb:masterfrom
Draft
Fall back to control connection when host pools are empty#722dkropachev wants to merge 1 commit intoscylladb:masterfrom
dkropachev wants to merge 1 commit intoscylladb:masterfrom
Conversation
498b10c to
39ae69c
Compare
When all hosts are marked IGNORED by the load-balancing policy (e.g. WhiteListRoundRobinPolicy with a NAT address not known to the cluster), no connection pools are created. Instead of raising NoHostAvailable on Session.connect(), log a warning and fall back to executing queries on the already-established control connection. Fixes: scylladb#720
39ae69c to
5a24812
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.
Summary
WhiteListRoundRobinPolicywith a NAT address not known to the cluster), no connection pools are created. Instead of raisingNoHostAvailableonSession.connect(), the driver now logs a warning and falls back to executing queries on the already-established control connection.ResponseFuture._query_control_connection()method that borrows the control connection directly whensession._poolsis empty.Fixes: #720
Test plan
pytest tests/unit/)SCYLLA_VERSION="release:2025.2" uv run pytest tests/integration/standard/test_public_address.py -s