Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
Low
Description
Hi,
Looks like we've regressed on the issue described in:
https://issues.apache.org/jira/browse/CASSANDRA-9467
In that we're no longer able to connect from newer cqlsh versions
(e.g trunk) to older versions of Cassandra with a lower version of the protocol (e.g 2.1 with protocol version 3)
The problem seems to be that we're relying on the ability for the client to automatically downgrade protocol version implemented in Cassandra here:
https://issues.apache.org/jira/browse/CASSANDRA-12838
and utilised in the python client here:
https://datastax-oss.atlassian.net/browse/PYTHON-240
The problem however comes when we implemented:
https://datastax-oss.atlassian.net/browse/PYTHON-537
"Don't downgrade protocol version if explicitly set"
(included when we bumped from 3.5.0 to 3.7.0 of the python driver as part of fixing: https://issues.apache.org/jira/browse/CASSANDRA-11534)
Since we do explicitly specify the protocol version in the bin/cqlsh.py.
I've got a patch which just adds an option to explicitly specify the protocol version (for those who want to do that) and then otherwise defaults to not setting the protocol version, i.e using the protocol version from the client which we ship, which should by default be the same protocol as the server.
Then it should downgrade gracefully as was intended.
Let me know if that seems reasonable.
Thanks,
Matt
Attachments
Issue Links
- is duplicated by
-
CASSANDRA-13311 cqlsh doesn't let you connect to an older major version
- Resolved
- relates to
-
CASSANDRA-9467 cqlsh does not connect to older protocol versions
- Resolved
-
CASSANDRA-12150 cqlsh does not automatically downgrade CQL version
- Resolved
- links to