You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aleksey Yeschenko (JIRA)" <ji...@apache.org> on 2016/05/31 15:49:13 UTC

[jira] [Created] (CASSANDRA-11930) Range tombstone serialisation between 2.1 and 3.0 nodes (in 3.0 -> 2.1 direction) is broken for some Thrift deletions

Aleksey Yeschenko created CASSANDRA-11930:
---------------------------------------------

             Summary: Range tombstone serialisation between 2.1 and 3.0 nodes (in 3.0 -> 2.1 direction) is broken for some Thrift deletions
                 Key: CASSANDRA-11930
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11930
             Project: Cassandra
          Issue Type: Bug
          Components: Coordination
            Reporter: Aleksey Yeschenko
            Assignee: Tyler Hobbs
             Fix For: 3.0.x, 3.x


{{LegacyLayout.LegacyRangeTombstoneList::serialize()}} has a broken assumption that a range tombstone implies {{CompositeType}}. This is incorrect, as you can have non-{{CompositeType}} range tombstones created via Thrift in 2.1, and as such wrapping {{clusteringComparator.subtypes()}} in a {{CompositeType}} is incorrect. On 2.1/2.2 side, when decoding the range tombstone list, {{RangeTombstoneList::deserialize()}} will use the raw type to decode start and end bounds, which will end up being confused by the extra 2 bytes in the beginning (short length) plus end of component header in the end.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)