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

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 2.2.0 beta 1
    • Legacy/CQL
    • None
    • 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

              JoshuaMcKenzie Joshua McKenzie
              JoshuaMcKenzie Joshua McKenzie
              Joshua McKenzie
              Aleksey Yeschenko
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: