[ https://issues.apache.org/jira/browse/CASSANDRA-11930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15311129#comment-15311129 ]
Tyler Hobbs commented on CASSANDRA-11930: ----------------------------------------- While reproducing this, I also noticed that 3.0 is returning mixed static/dynamic columns in a different order than 2.2 (when responding to a Thrift slice query). It looks like the static columns are moved to the front of the partition, like CQL stores them. Not a high priority issue to fix, but I'm mentioning it here to remind myself to open a ticket. > 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)