[ 
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)

Reply via email to