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

Follow-ups to 7523: protect old clients from new type values and reject empty ByteBuffer

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Low
    • Resolution: Fixed
    • Fix Version/s: 2.2.0 beta 1
    • Component/s: Legacy/CQL
    • Labels:
      None
    • Impacts:
      Clients

      Description

      2 follow-ups from CASSANDRA-7523, which has now been removed from the 2.1 branch:

      The problem is that if someone use one of those new data types with an existing client, Cassandra will currently happily return the new codes, which clients have no reason to know about and may therefore crash in unexpected ways. That is a problem and that's what I meant by "Adding new codes to v3 would confuse drivers".

      So what I mean is that we should special case those 2 types in DataType (maybe in toType, maybe directly in the serialization) so that when the protocol version is <= 3, then it write the types as CUSTOM ones.

      And

      can we make the new types non-emptiable by default? See the last two CASSANDRA-8951 comments.

      Would really like us to reject empty BB as a valid value there though

        Attachments

        1. 9219-nits.txt
          10 kB
          Aleksey Yeschenko

          Issue Links

            Activity

              People

              • Assignee:
                JoshuaMcKenzie Joshua McKenzie
                Reporter:
                JoshuaMcKenzie Joshua McKenzie
                Authors:
                Joshua McKenzie
                Reviewers:
                Aleksey Yeschenko
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: