Skip to content

control-connection: tolerate schema agreement connection loss#856

Draft
dkropachev wants to merge 2 commits intoscylladb:masterfrom
dkropachev:control-connection-schema-agreement-fallback
Draft

control-connection: tolerate schema agreement connection loss#856
dkropachev wants to merge 2 commits intoscylladb:masterfrom
dkropachev:control-connection-schema-agreement-fallback

Conversation

@dkropachev
Copy link
Copy Markdown
Collaborator

Summary

  • Make ControlConnection.wait_for_schema_agreement fall back to a same-host session pool connection when the control connection is gone, closed, defunct, busy, or raises a connection error.
  • Preserve non-throwing schema agreement behavior by returning False when no same-host fallback connection is available.
  • Track the last control-connection endpoint so a missing _connection can still map to the correct host pool.

Risks

  • Touches control connection schema-agreement polling only.
  • No protocol compatibility changes.
  • If no session pool exists for the control host, schema refresh still fails softly and existing reconnect/error handling can continue.

Tests

  • Added unit coverage for broken control connection fallback, gone control connection fallback, and no-fallback tolerance.
  • repo-ci fast: unit phases passed; latest detailed log showed 660 passed, 77 skipped plus gevent reactor 2 passed during the cp310 wheel leg. Overall run timed out at 300s during the broader cp311 wheel leg, with no test failure reported.

Integration

  • No cluster-backed integration run required for this control-flow change.

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.

1 participant