You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "David Capwell (Jira)" <ji...@apache.org> on 2022/10/10 22:43:00 UTC
[jira] [Commented] (CASSANDRA-17908) IllegalArgumentException in Gossiper#order due to concurrent mutations to elements being applied
[ https://issues.apache.org/jira/browse/CASSANDRA-17908?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17615380#comment-17615380 ]
David Capwell commented on CASSANDRA-17908:
-------------------------------------------
Starting commit
CI Results (pending):
||Branch||Source||Circle CI||Jenkins||
|trunk|[branch|https://github.com/dcapwell/cassandra/tree/commit_remote_branch/CASSANDRA-17908-trunk-157ED55B-495E-4111-ABEF-B28E00C769E4]|[build|https://app.circleci.com/pipelines/github/dcapwell/cassandra?branch=commit_remote_branch%2FCASSANDRA-17908-trunk-157ED55B-495E-4111-ABEF-B28E00C769E4]|[build|https://ci-cassandra.apache.org/job/Cassandra-devbranch/1991/]|
> IllegalArgumentException in Gossiper#order due to concurrent mutations to elements being applied
> ------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-17908
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17908
> Project: Cassandra
> Issue Type: Bug
> Components: Cluster/Gossip
> Reporter: David Capwell
> Assignee: David Capwell
> Priority: Normal
> Fix For: 4.1.x
>
>
> org.apache.cassandra.gms.Gossiper#order was added due to sub-systems depending on a happens-before relationship of events even though Gossip does not provide such ordering… to help out we “order” the events discovered by gossip so we apply them in a predictable order… This has been found to have issues where we add the elements into the global state and under some conditions they get mutated causing ordering to fail
> {code}
> ERROR 2022-09-01T19:04:24,789 [GossipStage:1] org.apache.cassandra.service.CassandraDaemon:234 - Exception in thread Thread[GossipStage:1,5,main]
> java.lang.IllegalArgumentException: Comparison method violates its general contract!
> at java.util.TimSort.mergeLo(TimSort.java:777)
> at java.util.TimSort.mergeAt(TimSort.java:514)
> at java.util.TimSort.mergeForceCollapse(TimSort.java:457)
> at java.util.TimSort.sort(TimSort.java:254)
> at java.util.Arrays.sort(Arrays.java:1512)
> at java.util.ArrayList.sort(ArrayList.java:1464)
> at java.util.Collections.sort(Collections.java:177)
> at org.apache.cassandra.gms.Gossiper.order(Gossiper.java:1327)
> at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1334)
> at org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49)
> at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:70)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:116)
> at java.lang.Thread.run(Thread.java:750) [?:1.8.0_345]
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org