[ 
https://issues.apache.org/jira/browse/CASSANDRA-9519?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14629708#comment-14629708
 ] 

Sylvain Lebresne commented on CASSANDRA-9519:
---------------------------------------------

The problem is with the added test. We're trying to a race where scores are 
updated while the endpoint list is sorted, so the biggest the list to sort is, 
the more change we have to catch (and thus test) this bug. And since I didn't 
wanted the test to be too long, I've initially used a very big list with few 
iterations. Apparently, that's too big for cassci. So I've followed 
[~benedict]'s suggestion from irc and moved the new test to a long test, 
reducing the size of the tested list, but increasing the number of iterations. 
Hopefully the test will retain its ability to catch this issue if it is ever 
re-introduce (or if it turns out to not be fully fixed).

As a side note, there was a failure of the other existing test in 
{{DynamicEndpointSnitchTest}}, but that's due to the first test failure: the 
new test changes the badness (it has to) and reset it to its original value at 
the end, but I had forgotten to put the resetting in a finally block, so a 
failure of the new test was messing with the old one.

Closing this because I'm relatively confident this is the only problems there 
was (and I'll forget to close that if I don't do it now) but feel free to 
re-open if I'm wrong on that.

> CASSANDRA-8448 Doesn't seem to be fixed
> ---------------------------------------
>
>                 Key: CASSANDRA-9519
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9519
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jeremiah Jordan
>            Assignee: Sylvain Lebresne
>             Fix For: 2.1.9, 2.2.0
>
>         Attachments: 9519.txt
>
>
> Still seeing the "Comparison method violates its general contract!" in 2.1.5
> {code}
> java.lang.IllegalArgumentException: Comparison method violates its general 
> contract!
>       at java.util.TimSort.mergeHi(TimSort.java:895) ~[na:1.8.0_45]
>       at java.util.TimSort.mergeAt(TimSort.java:512) ~[na:1.8.0_45]
>       at java.util.TimSort.mergeCollapse(TimSort.java:437) ~[na:1.8.0_45]
>       at java.util.TimSort.sort(TimSort.java:241) ~[na:1.8.0_45]
>       at java.util.Arrays.sort(Arrays.java:1512) ~[na:1.8.0_45]
>       at java.util.ArrayList.sort(ArrayList.java:1454) ~[na:1.8.0_45]
>       at java.util.Collections.sort(Collections.java:175) ~[na:1.8.0_45]
>       at 
> org.apache.cassandra.locator.AbstractEndpointSnitch.sortByProximity(AbstractEndpointSnitch.java:49)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.locator.DynamicEndpointSnitch.sortByProximityWithScore(DynamicEndpointSnitch.java:158)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.locator.DynamicEndpointSnitch.sortByProximityWithBadness(DynamicEndpointSnitch.java:187)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.locator.DynamicEndpointSnitch.sortByProximity(DynamicEndpointSnitch.java:152)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.service.StorageProxy.getLiveSortedEndpoints(StorageProxy.java:1530)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.service.StorageProxy.getRangeSlice(StorageProxy.java:1688)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:256)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:209)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:63)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:238)
>  ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:260) 
> ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
>       at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:272) 
> ~[cassandra-all-2.1.5.469.jar:2.1.5.469]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to