Hi Bowen, This seems like a bug to me, please kindly file an issue on 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. > [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 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# ./cqlsh > Connected to Test Cluster at 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# > > # "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 > >