Okay, CASSANDRA-16652
<https://issues.apache.org/jira/browse/CASSANDRA-16652> is created.
On 04/05/2021 22:30, Paulo Motta wrote:
Hi Bowen,
This seems like a bug to me, please kindly file an issue on
https://issues.apache.org/jira/projects/CASSANDRA/summary
<https://issues.apache.org/jira/projects/CASSANDRA/summary> with the
provided reproduction steps.
Thanks,
Paulo
Em ter., 4 de mai. de 2021 às 18:22, Bowen Song <bo...@bso.ng> escreveu:
Hi all,
I was using the cqlsh from Cassandra 4.0 RC1 and trying to connect
to a Cassandra 3.11 cluster, and it does not appear to be working
correctly. Specificity, the "desc" command does not work at all.
Steps to reproduce:
# ensure you have docker installed and running
# run the following docker commands to create and start a
Cassandra 3.11 container
~ $ docker create --name cassandra3 cassandra:3.11.10
5d903e48e0661e39080198de5e8752356a5a666132211a500ea38af0fc2a0356
~ $ docker start cassandra3
cassandra3
~ $ docker exec -ti cassandra3 bash
# inside the docker container, try the default cqlsh version
root@5d903e48e066:/# cqlsh
Connected to Test Cluster at 127.0.0.1:9042
<http://127.0.0.1:9042>.
[cqlsh 5.0.1 | Cassandra 3.11.10 | CQL spec 3.4.4 | Native
protocol v4]
Use HELP for help.
cqlsh> desc keyspaces;
system_traces system_schema system_auth system
system_distributed
cqlsh> use system_auth;
cqlsh:system_auth> desc tables;
resource_role_permissons_index role_permissions
role_members roles
cqlsh:system_auth> select * from roles;
role | can_login | is_superuser | member_of |
salted_hash
-----------+-----------+--------------+-----------+--------------------------------------------------------------
cassandra | True | True | null |
$2a$10$8UNyioBF41/OZfcCa2aqXOHvXiNXArBHKaUUhMyPAFKpfN8byXonm
(1 rows)
cqlsh:system_auth> exit
# obviously, everything worked as expected
# now install git to clone the Cassandra 4.0 RC1 source
code, and python3-six, which is a dependency of cqlsh
root@5d903e48e066:/# apt-get update -qq && apt-get install
-qq git python3-six
......
# clone the Cassandra repository and checkout the
cassandra-4.0-rc1 tag
root@5d903e48e066:/# git clone -b cassandra-4.0-rc1
--depth 1 https://github.com/apache/cassandra.git
<https://github.com/apache/cassandra.git> cassandra-4.0-rc1
Cloning into 'cassandra-4.0-rc1'...
......
# run the cqlsh from the Git repository, and repeat all
the cqlsh statements above
root@5d903e48e066:/# cd cassandra-4.0-rc1/bin
root@5d903e48e066:/cassandra-4.0-rc1/bin#
<mailto:root@5d903e48e066:/cassandra-4.0-rc1/bin#> ./cqlsh
Connected to Test Cluster at 127.0.0.1:9042
<http://127.0.0.1:9042>
[cqlsh 6.0.0 | Cassandra 3.11.10 | CQL spec 3.4.4 | Native
protocol v4]
Use HELP for help.
cqlsh> desc keyspaces;
cqlsh> use system_auth;
cqlsh:system_auth> desc tables;
cqlsh:system_auth> select * from roles;
role | can_login | is_superuser | member_of |
salted_hash
-----------+-----------+--------------+-----------+--------------------------------------------------------------
cassandra | True | True | null |
$2a$10$8UNyioBF41/OZfcCa2aqXOHvXiNXArBHKaUUhMyPAFKpfN8byXonm
(1 rows)
cqlsh:system_auth> exit
root@5d903e48e066:/cassandra-4.0-rc1/bin#
<mailto:root@5d903e48e066:/cassandra-4.0-rc1/bin#>
# "desc" did not work, but "use" and "select" worked
My question is, are they suppose to be compatible? If so, this
almost certainly is a bug. If not, I'd strongly recommend
Cassandra to add a compatibility warning in the 4.0 version
cqlsh when it's connected to a 3.x Cassandra server. Because I
can foresee many users will run into this issue, especially
when they are in the middle of upgrading from 3.x to 4.0.
Regards,
Bowen