[
https://issues.apache.org/jira/browse/CASSANDRA-8182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tyler Hobbs updated CASSANDRA-8182:
-----------------------------------
Attachment: 8182-v2.txt
The v2 patch moves the comparator to a static inner class.
> Comparison method violates its general contract in
> IndexSummaryManager.redistributeSummaries
> --------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-8182
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8182
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Environment: 2.1.0
> Reporter: Juho Mäkinen
> Assignee: Tyler Hobbs
> Priority: Minor
> Fix For: 2.1.2
>
> Attachments: 8182-v2.txt, 8182.txt
>
>
> I found this exception while going over the logs of my new 2.1.0 production
> candidate cluster:
> {noformat}
> ERROR [IndexSummaryManager:1] 2014-10-23 14:37:56,727
> CassandraDaemon.java:166 - Exception in thread
> Thread[IndexSummaryManager:1,1,main]
> java.lang.IllegalArgumentException: Comparison method violates its general
> contract!
> at java.util.TimSort.mergeLo(TimSort.java:747) ~[na:1.7.0_67]
> at java.util.TimSort.mergeAt(TimSort.java:483) ~[na:1.7.0_67]
> at java.util.TimSort.mergeCollapse(TimSort.java:408) ~[na:1.7.0_67]
> at java.util.TimSort.sort(TimSort.java:214) ~[na:1.7.0_67]
> at java.util.TimSort.sort(TimSort.java:173) ~[na:1.7.0_67]
> at java.util.Arrays.sort(Arrays.java:659) ~[na:1.7.0_67]
> at java.util.Collections.sort(Collections.java:217) ~[na:1.7.0_67]
> at
> org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:277)
> ~[apache-cassandra-2.1.0.jar:2.1.0]
> at
> org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238)
> ~[apache-cassandra-2.1.0.jar:2.1.0]
> at
> org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139)
> ~[apache-cassandra-2.1.0.jar:2.1.0]
> at
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> ~[apache-cassandra-2.1.0.jar:2.1.0]
> at
> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:75)
> ~[apache-cassandra-2.1.0.jar:2.1.0]
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> [na:1.7.0_67]
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
> [na:1.7.0_67]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
> [na:1.7.0_67]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> [na:1.7.0_67]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> [na:1.7.0_67]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> [na:1.7.0_67]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
> {noformat}
> There's some other cases of invalid comparison methods in the past, but not
> from this case.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)