cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brandon Williams (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-9519) CASSANDRA-8448 Doesn't seem to be fixed
Date Thu, 09 Jul 2015 15:22:05 GMT


Brandon Williams commented on CASSANDRA-9519:

bq. If it is, I don't understand why, so you might want to elaborate what the problem is and
why that fixes it.

My take from the stacktrace was that DES.sortByProximityWithScore was calling super to AES.sortByProximity
which then had a problem with the array changing while being sorted.  AES.getSortedListByProximity
doesn't have this problem because it copies the array before calling AES.sortByProximity,
so it seemed like a simple solution to just make sortByProximity do this itself.  That said,
your theory seems plausible as well.  It would be nice if we had a test that could reproduce
this so we don't have to play guessing games, but I'm not sure how feasible that is.

> CASSANDRA-8448 Doesn't seem to be fixed
> ---------------------------------------
>                 Key: CASSANDRA-9519
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jeremiah Jordan
>             Fix For: 2.1.x, 2.2.x
>         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( ~[na:1.8.0_45]
> 	at java.util.TimSort.mergeAt( ~[na:1.8.0_45]
> 	at java.util.TimSort.mergeCollapse( ~[na:1.8.0_45]
> 	at java.util.TimSort.sort( ~[na:1.8.0_45]
> 	at java.util.Arrays.sort( ~[na:1.8.0_45]
> 	at java.util.ArrayList.sort( ~[na:1.8.0_45]
> 	at java.util.Collections.sort( ~[na:1.8.0_45]
> 	at org.apache.cassandra.locator.AbstractEndpointSnitch.sortByProximity(
> 	at org.apache.cassandra.locator.DynamicEndpointSnitch.sortByProximityWithScore(
> 	at org.apache.cassandra.locator.DynamicEndpointSnitch.sortByProximityWithBadness(
> 	at org.apache.cassandra.locator.DynamicEndpointSnitch.sortByProximity(
> 	at org.apache.cassandra.service.StorageProxy.getLiveSortedEndpoints(
> 	at org.apache.cassandra.service.StorageProxy.getRangeSlice( ~[cassandra-all-]
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(
> 	at org.apache.cassandra.cql3.statements.SelectStatement.execute(
> 	at org.apache.cassandra.cql3.QueryProcessor.processStatement(
> 	at org.apache.cassandra.cql3.QueryProcessor.process( ~[cassandra-all-]
> 	at org.apache.cassandra.cql3.QueryProcessor.process( ~[cassandra-all-]
> {code}

This message was sent by Atlassian JIRA

View raw message