Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-16319

Bump native protocol framing from v5 to v6

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Not A Problem
    • 4.0-beta4, 4.0
    • Messaging/Client
    • None
    • Semantic
    • Normal
    • All
    • None

    Description

      CASSANDRA-15299 revised the wire format of CQL native protocol to add a framing layer around the existing CQL messages. This was originally targetted at protocol v5, which is (still) currently in beta. There's a complication with this though; while v5-beta is supported in Cassandra 3.11.x and 4.0.0, the new wire format is only committed to trunk (4.0.0). This means that if clients upgrade to a version of their driver which supports the new wire format (3.10.0 for the java driver, python driver is not yet offically released), connections to Cassandra 3.11.x nodes will break if the client specifies v5-beta as the preferred protocol version.

      Without the wire format changes the v5 changelog is pretty minimal, but pulling v5 support from 3.11.x would make for a pretty bad user experience, despite it being "only" a beta.

      I propose finalizing CASSANDRA-14973 to promote v5 from beta to a final version and bumping the new wire format changes to v6-beta, making both of these changes in 4.0 and 3.11. Because v5 requires the beta flag to be set in the frame header if using a beta version, this requires that users upgrade clusters to a version with v5-final before upgrading to a driver with v5-final. We should include this in NEWS.txt

      The changes required to Cassandra itself are minor, as are the corresponding patches to the java and python drivers.

      Attachments

        Activity

          People

            samt Sam Tunnicliffe
            samt Sam Tunnicliffe
            Sam Tunnicliffe
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: