[
https://issues.apache.org/jira/browse/CASSANDRA-11930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tyler Hobbs updated CASSANDRA-11930:
------------------------------------
Resolution: Fixed
Fix Version/s: (was: 3.0.x)
(was: 3.x)
3.0.7
3.7
Status: Resolved (was: Patch Available)
The new dtest unfortunately failed on that upgrade test run because it was
started before I fixed small bug in the test, but I've run the fixed test many
times locally without any problems. I'm not too familiar with the other
upgrade test failure, but since it has to do with a child process terminating
unexpectedly, I assume it's unrelated to these changes.
So, committed as {{c98b6484e124982b455455c9cd847e0b36d5074b}} to 3.0 and merged
up to 3.7 and trunk. Thanks for the review.
> 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.7, 3.0.7
>
>
> {{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)