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