[ 
https://issues.apache.org/jira/browse/CASSANDRA-11216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joshua McKenzie updated CASSANDRA-11216:
----------------------------------------
    Reviewer: Branimir Lambov

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

Reply via email to