Cassandra
  1. Cassandra
  2. CASSANDRA-5918

Remove CQL2 entirely from Cassandra 3.0

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Fix Version/s: 3.0
    • Component/s: None
    • Labels:

      Description

      CQL2 is officially no longer worked on since 1.2. cqlsh no longer supports CQL2 as of Cassandra 2.0.

      It's probably the time to deprecate CQL2 in 2.0 and to remove it entirely in 2.2 - there is nothing in CQL2 now that can't be done via CQL3 and two versions advance warning is plenty of time for those few still using CQL2 to switch to CQL3.

        Activity

        Hide
        Aleksey Yeschenko added a comment -

        Added the deprecation warning to 2.0 in 5fe46e145adfe54a1fc4521fd274833e3bce4ac2.

        Show
        Aleksey Yeschenko added a comment - Added the deprecation warning to 2.0 in 5fe46e145adfe54a1fc4521fd274833e3bce4ac2.
        Hide
        Patrick McFadin added a comment -

        If we are going to remove it as a breaking change, this should be 3.0. There are still people in production using CQL2. If 2.x issues a warning, then we can give them until 3.x to migrate away.

        Show
        Patrick McFadin added a comment - If we are going to remove it as a breaking change, this should be 3.0. There are still people in production using CQL2. If 2.x issues a warning, then we can give them until 3.x to migrate away.
        Hide
        Brandon Williams added a comment -

        That's basically what 2.2 is, "not the next major release, but the one after that."

        Show
        Brandon Williams added a comment - That's basically what 2.2 is, "not the next major release, but the one after that."
        Hide
        Jonathan Ellis added a comment -

        If it takes calling it 3.0 to make you happy, that's doable.

        Show
        Jonathan Ellis added a comment - If it takes calling it 3.0 to make you happy, that's doable.
        Hide
        Patrick McFadin added a comment -

        Your concern for my happiness is heart warming. heh

        Whatever it is that isn't "we just took away functionality inside 2.x" will be just fine.

        Show
        Patrick McFadin added a comment - Your concern for my happiness is heart warming. heh Whatever it is that isn't "we just took away functionality inside 2.x" will be just fine.
        Hide
        Robert Coli added a comment -

        FWIW, this sounds like a reasonable idea to me. It is also encouraging as a model for deprecating features which some small set of people might be using now but which no one should start using because they're unsupported/unmaintained.

        Show
        Robert Coli added a comment - FWIW, this sounds like a reasonable idea to me. It is also encouraging as a model for deprecating features which some small set of people might be using now but which no one should start using because they're unsupported/unmaintained.
        Hide
        Aleksey Yeschenko added a comment -

        Pushed the commit to https://github.com/iamaleksey/cassandra/commits/5918.

        Not sure what to do with thirft definitions (besides obviously bumping the major). Throw IRE for all the CQL2 methods (as in the commit), or get rid of them altogether, erasing the last and only traces of CQL2 existence (other than NEWS and CHANGES).

        Show
        Aleksey Yeschenko added a comment - Pushed the commit to https://github.com/iamaleksey/cassandra/commits/5918 . Not sure what to do with thirft definitions (besides obviously bumping the major). Throw IRE for all the CQL2 methods (as in the commit), or get rid of them altogether, erasing the last and only traces of CQL2 existence (other than NEWS and CHANGES).
        Hide
        Jonathan Ellis added a comment -

        I'd say it's marginally more user-friendly to throw IRE than to rely on the Thrift server to respond with whatever its no-such-method exception is.

        Show
        Jonathan Ellis added a comment - I'd say it's marginally more user-friendly to throw IRE than to rely on the Thrift server to respond with whatever its no-such-method exception is.
        Hide
        Aleksey Yeschenko added a comment -

        Left them alone (throwing exceptions instead of removing entirely). That, and regenerated thrift (tiny change). Pushed -f to the same branch.

        Show
        Aleksey Yeschenko added a comment - Left them alone (throwing exceptions instead of removing entirely). That, and regenerated thrift (tiny change). Pushed -f to the same branch.
        Hide
        Jonathan Ellis added a comment -

        Ship it!

        Show
        Jonathan Ellis added a comment - Ship it!
        Hide
        Aleksey Yeschenko added a comment -

        Committed, thanks.

        Show
        Aleksey Yeschenko added a comment - Committed, thanks.

          People

          • Assignee:
            Aleksey Yeschenko
            Reporter:
            Aleksey Yeschenko
            Reviewer:
            Jonathan Ellis
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development