-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: bitpathfinder/python-driver
base: master
head repository: scylladb/python-driver
compare: master
- 17 commits
- 58 files changed
- 6 contributors
Commits on May 8, 2026
-
cluster: add Session.wait_for_schema_agreement
Add Session.wait_for_schema_agreement() as a session-scoped schema agreement check. The new API queries schema_version from system.local on the connected hosts selected by the requested rack, dc, or cluster scope, respects Cluster.max_schema_agreement_wait and the control-connection metadata timeouts, and bounds the fan-out with configurable parallelism. Update the public Session docs and switch the integration callers that were explicitly waiting on schema agreement to use the session API. Add unit coverage for agreement, retries, busy connections, missing pools, batching, scope filtering, and invalid scope handling.
Configuration menu - View commit details
-
Copy full SHA for 0d215f4 - Browse repository at this point
Copy the full SHA 0d215f4View commit details -
control-connection: deprecate ControlConnection.wait_for_schema_agree…
…ment Keep ControlConnection.wait_for_schema_agreement() as a compatibility wrapper, but move the existing implementation to _wait_for_schema_agreement() and deprecate the public method in favor of Session.wait_for_schema_agreement(). This lets the control-connection refresh path continue using the old logic internally without emitting warnings. The control-connection wait path was designed for internal metadata refresh use, not as a user-facing schema agreement API. It observes schema agreement from one single node, assuming that schema change statement have been ran on that host. Using it by users will lead to false positives, if user ran statement on a host different from host of control connection. Update the unit tests to call the internal helper everywhere a warning is not expected, add explicit deprecation coverage for the public wrapper, and set stacklevel=2 so the warning points at the caller instead of inside the driver.
Configuration menu - View commit details
-
Copy full SHA for ef7c2d0 - Browse repository at this point
Copy the full SHA ef7c2d0View commit details
Commits on May 10, 2026
-
connection: clean up failed heartbeat sends
Keep heartbeat request-id and in-flight bookkeeping consistent when send_msg() fails.\n\nHandle the control-connection in_flight release separately from HostConnection cleanup.
Configuration menu - View commit details
-
Copy full SHA for 51dd366 - Browse repository at this point
Copy the full SHA 51dd366View commit details -
cluster: add control-connection query fallback
Add an opt-in control-connection fallback for application queries when the driver cannot populate normal node pools, which happens in deployments that expose the cluster through a non-broadcast IP address such as a TCP proxy or a node public IP. In that mode the driver can still execute queries over the single control connection, but throughput is poor and connection churn increases the chance of request errors. This option is intentionally disabled by default and should not be used in production. Also propagate keyspace updates on the fallback path so USE keeps the control connection in sync. Tests: - tests/unit/test_cluster.py::ClusterTest::test_set_keyspace_for_all_pools_reports_all_errors - tests/unit/test_response_future.py::ResponseFutureTests::test_control_connection_fallback_updates_connection_keyspace
Configuration menu - View commit details
-
Copy full SHA for 84b599c - Browse repository at this point
Copy the full SHA 84b599cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 442f1ed - Browse repository at this point
Copy the full SHA 442f1edView commit details
Commits on May 11, 2026
-
tests: replace SimpleStrategy with NetworkTopologyStrategy
Replace SimpleStrategy with NetworkTopologyStrategy across integration tests to align with ScyllaDB's tablet-based replication defaults. In the tablets test module, skip default keyspace creation (set_keyspace=False) to avoid RF=3 keyspaces that block node decommission when all nodes already hold replicas.
Configuration menu - View commit details
-
Copy full SHA for 69bb8ef - Browse repository at this point
Copy the full SHA 69bb8efView commit details -
tests: bootstrap 3 new nodes in full node replacement test
With tablets enabled, decommissioning a node from a 3-node cluster with RF=3 fails because there is no available node to receive tablet replicas. Bootstrap 3 replacement nodes instead of 2 so that each original node can be decommissioned while sufficient replicas remain.
Configuration menu - View commit details
-
Copy full SHA for 445b5af - Browse repository at this point
Copy the full SHA 445b5afView commit details -
tests: xfail LWT tests on Scylla versions without tablet LWT support
LWT is not supported with tablets on ScyllaDB < 2025.4. Mark the affected SerialConsistencyTests and LightweightTransactionTests as xfail for those versions.
Configuration menu - View commit details
-
Copy full SHA for 2b5dd16 - Browse repository at this point
Copy the full SHA 2b5dd16View commit details -
tests: xfail tests on Scylla version without indexes tablet support
Secondary indexes are not supported on base tables with tablets for Scylla versions < 2026.1.
Configuration menu - View commit details
-
Copy full SHA for e7cb651 - Browse repository at this point
Copy the full SHA e7cb651View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe2a943 - Browse repository at this point
Copy the full SHA fe2a943View commit details -
ci: update Scylla test version from 2025.2 to 2026.1
The integration test suite was pinned to release:2025.2 which is no longer the latest LTS branch. Update to release:2026.1 so CI covers the newest ScyllaDB features and catches regressions earlier. Tests gated by @skip_scylla_version_lt(2026.1.0) — such as the client_routes tests — will now actually execute in CI.
Configuration menu - View commit details
-
Copy full SHA for b9813e7 - Browse repository at this point
Copy the full SHA b9813e7View commit details -
Replace SimpleStrategy with NetworkTopologyStrategy across codebase
ScyllaDB has dropped support for SimpleStrategy. Update all CQL statements, test fixtures, examples, benchmarks, and management utilities to use NetworkTopologyStrategy instead. The SimpleStrategy class definition in cassandra/metadata.py is preserved for backward compatibility with Cassandra clusters.
Configuration menu - View commit details
-
Copy full SHA for fb13815 - Browse repository at this point
Copy the full SHA fb13815View commit details
Commits on May 12, 2026
-
build(deps): bump urllib3 from 2.6.3 to 2.7.0 in /docs
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.3 to 2.7.0. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.6.3...2.7.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.7.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for f7d945f - Browse repository at this point
Copy the full SHA f7d945fView commit details
Commits on May 15, 2026
-
tests: use tablets-disabled keyspace instead of xfail for scylladb/sc…
…ylladb#22677 Tests that previously xfailed on ScyllaDB < 2026.1 due to MVs, secondary indexes, and counters not being supported on tables with tablets now create their keyspace with 'AND tablets = {"enabled": false}' for those older versions, so the tests run and pass rather than being expected to fail. A new helper get_tablets_disabled_ddl_suffix() is added to tests/integration/__init__.py to return the appropriate DDL suffix.
Configuration menu - View commit details
-
Copy full SHA for cf01c3f - Browse repository at this point
Copy the full SHA cf01c3fView commit details
Commits on May 20, 2026
-
asyncio: fix SSL connections by using native TLS transport
Python 3.8+ rejects ssl.SSLSocket in asyncio's sock_sendall/sock_recv with TypeError. This caused the driver to fail connecting to ScyllaDB clusters requiring TLS, manifesting as 'protocol version 21 not supported' errors (0x15 = TLS Alert byte misread as protocol version). Fix by using asyncio's native TLS transport (loop.create_connection with ssl= parameter) instead of wrapping sockets with ssl.SSLContext.wrap_socket(). This preserves shard-aware port binding done during _initiate_connection(). Add _AsyncioProtocol to bridge asyncio's transport/protocol API back to Connection.process_io_buffer() for SSL data reads. Non-SSL connections continue using the existing sock_recv path. Fixes scylladb#330
Configuration menu - View commit details
-
Copy full SHA for a0eb304 - Browse repository at this point
Copy the full SHA a0eb304View commit details
Commits on May 22, 2026
-
Pin GitHub Actions to commit hashes and enforce pinning
- Update all action references to use full SHA commit hashes - Configure Renovate to pin digests and require 90-day minimum age - Add github-actions ecosystem to Dependabot
Configuration menu - View commit details
-
Copy full SHA for 44bc95a - Browse repository at this point
Copy the full SHA 44bc95aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 037118e - Browse repository at this point
Copy the full SHA 037118eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...master