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.
Read full article from [CASSANDRA-13307] The specification of protocol version in cqlsh means the python driver doesn't automatically downgrade protocol version. - ASF JIRA
No comments:
Post a Comment