You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: detect ScyllaDB via SUPPORTED protocol extensions, not shard count
The driver previously identified ScyllaDB solely by the presence of
shard-related fields (SCYLLA_NR_SHARDS, SCYLLA_SHARD, etc.) in the
SUPPORTED response. When shard-awareness is disabled on the server
side (allow_shard_aware_drivers: false), those fields are absent,
causing the driver to misidentify a ScyllaDB cluster as Cassandra.
Changes:
- Add ProtocolFeatures.detect_scylla() and is_scylla flag, set from
known Scylla-specific extension keys (LWT, rate-limit, tablets
routing) or sharding_info presence
- Replace sharding_info check with is_scylla for peers_v2 and
metadata_request_timeout in cluster.py and metadata.py
- Guard int() calls against None in _ShardingInfo construction
(c_shard_info.pyx, shard_info.py)
- Add tests for is_scylla detection and regression tests for
missing shard fields
- Assert pf.shard_id normalization in test regressions (response
to CodeRabbit review)
0 commit comments