Skip to content

Verify DNS fallback for configured contact endpoints - #107

Open
dkropachev wants to merge 6 commits into
mainfrom
dk/driver-815-dns-fallback
Open

Verify DNS fallback for configured contact endpoints#107
dkropachev wants to merge 6 commits into
mainfrom
dk/driver-815-dns-fallback

Conversation

@dkropachev

@dkropachev dkropachev commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Scope

This PR is intentionally limited to regression coverage for configured contact endpoints backed by multiple DNS records:

  • On bootstrap, a connection failure on one resolved address advances to the next address.
  • After learned nodes are unavailable, discovery returns to the original logical contact hostname, where the same transport fallback applies.

The baseline sync and async HTTP transports already iterate resolved addresses after connection failure, and live-node discovery already retains configured contact endpoints for recovery. No production code change is needed.

Changes

  • Adds a real async HTTP regression whose DNS result contains an unreachable address followed by a reachable one.
  • Adds a focused manager regression proving refresh returns to the original contact hostname after replacing the learned-node snapshot.
  • Retains the existing sync bootstrap DNS-address fallback coverage.

Validation

  • make verify
  • 510 tests passed and 3 expected system-CA tests skipped; strict mypy, Ruff lint/format, build, and package validation passed.

Deliberately not included

No retry on HTTP status, malformed or empty responses; no changes to configured fallback-scope behavior; no same-request query-plan refresh; no deadline, worker-pool, cache, lifecycle, TLS-adapter, dependency, or toolchain changes.

Jira task: https://scylladb.atlassian.net/browse/DRIVER-821
Jira epic: https://scylladb.atlassian.net/browse/DRIVER-815

Fixes #106

Comment thread alternator/_http.py Fixed
@github-actions github-actions Bot added the docs label Aug 10, 2026
Comment thread alternator/_http.py Fixed
Comment thread alternator/_http.py Fixed
Comment thread alternator/_http.py Fixed
Comment thread alternator/_http.py Fixed
Comment thread tests/unit/test_async_manager.py Fixed
Comment thread tests/unit/test_async_manager.py Fixed
@dkropachev dkropachev changed the title Add DNS address fallback to live-node discovery Verify DNS fallback for configured contact endpoints Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cover DNS entrypoint failover and negative fallback cases

1 participant