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

Reply via email to