Jason Brown created CASSANDRA-11216:
---------------------------------------
Summary: Range.compareTo() violates the contract of Comparable
Key: CASSANDRA-11216
URL: https://issues.apache.org/jira/browse/CASSANDRA-11216
Project: Cassandra
Issue Type: Bug
Components: Core
Reporter: Jason Brown
Assignee: Jason Brown
Priority: Minor
When running some quick-check style tests, I discovered that if both of the
ranges being compared wrap around, then the result of the comparison depends on
which range is evaluated first. For example, two ranges:
A = { -1, 2 }
B = { -2, 1 }
and then compare them together:
A.compareTo(B) == -1
B.compareTo(A) == -1
This is because the logic of the existing {{Range.compareTo()}} simply checks
to see if the {{this}} range wraps around, and returns -1. This bug does not
appear to affect c* until 3.0, and then only in one place
({{MerkleTrees.TokenRangeComparator#compare}}) that I could identify.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)