[
https://issues.apache.org/jira/browse/CASSANDRA-16394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17272496#comment-17272496
]
Caleb Rackliffe edited comment on CASSANDRA-16394 at 1/26/21, 11:52 PM:
------------------------------------------------------------------------
[~ifesdjeen] LGTM, aside from the minor issue of whether or not we still need
to protect {{Instance#liveMemberCount()}} with a check to make sure the
instances is initialized and not shut down. We should probably also run the
in-JVM upgrade tests before we commit. (Clean runs of {{UpgradeTest}} would be
nice to see, etc.)
was (Author: maedhroz):
[~ifesdjeen] LGTM, aside from the minor issue of whether or not we still need
to protect {{Instance#liveMemberCount()}} with a check to make sure the
instances is initialized and not shut down.
> Fix schema aggreement race conditions in in-JVM dtests
> -------------------------------------------------------
>
> Key: CASSANDRA-16394
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16394
> Project: Cassandra
> Issue Type: Bug
> Components: Test/dtest/java
> Reporter: Alex Petrov
> Assignee: Alex Petrov
> Priority: Normal
>
> There there are two race conditions in in-JVM dtest schema agreement, which
> are causing test failures:
> 1. First is caused by the fact we’re starting waiting for schema propagation
> already after the schema agreement was reached (which was resulting into us
> endlessly waiting for an agreement that has already been established);
> 2. The other one was because the callback to notify about successful
> agreement can be triggered already after the other node has notified about
> it, and control flow might have moved cluster to a different configuration.
> Example of exception:
> {code:java}
> Caused by: java.lang.IllegalStateException: Schema agreement not reached
> at
> org.apache.cassandra.distributed.impl.AbstractCluster$ChangeMonitor.waitForCompletion(AbstractCluster.java:?)
> at
> org.apache.cassandra.distributed.impl.AbstractCluster.lambda$schemaChange$5(AbstractCluster.java:?)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:?)
> at java.util.concurrent.FutureTask.run(FutureTask.java:?)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:?)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:?)
> at
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:?)
> at java.lang.Thread.run(Thread.java:?)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]