[
https://issues.apache.org/jira/browse/CASSANDRA-16394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17273781#comment-17273781
]
Alex Petrov commented on CASSANDRA-16394:
-----------------------------------------
Tests passed, including upgrade ones, with an exception of 3.11 branch where
there are unrelated static initializer issues.
Committed to 2.2 with
[276249910ec1c0aee881947fc81cd323cc604476|https://github.com/apache/cassandra/commit/276249910ec1c0aee881947fc81cd323cc604476]
and merged up to
[3.0|https://github.com/apache/cassandra/commit/88e7430bad3e9df810eb3e58c5e8542952b95dd9],
[3.11|https://github.com/apache/cassandra/commit/24d133ecbd99a7e41cc985c6721670c705005184]
and
[trunk|https://github.com/apache/cassandra/commit/b55d830b093016cf364a6e8999175e1e3665348d].
> 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]