cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8182) Comparison method violates its general contract in IndexSummaryManager.redistributeSummaries
Date Fri, 24 Oct 2014 07:46:34 GMT

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

Sylvain Lebresne commented on CASSANDRA-8182:
---------------------------------------------

bq.  does this affect the stability of the cluster?

No. When this happen, the task that check if it can reduce the memory of index summary (as
per CASSANDRA-5519) will fail, but the whole thing is not critical in the first place (it's
more a nice to have really) and it's retried every hour anyway (and it almost certainly won't
fail consistently). Fixing this is more about removing a scary error from the log, it's largly
unconsequential in practice.

> 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
>         Environment: 2.1.0
>            Reporter: Juho Mäkinen
>            Assignee: Tyler Hobbs
>             Fix For: 2.1.2
>
>
> I found this exception while going over the logs of my new 2.1.0 production candidate
cluster:
> 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]
> 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)

Mime
View raw message