[ 
https://issues.apache.org/jira/browse/CASSANDRA-16394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Petrov updated CASSANDRA-16394:
------------------------------------
          Fix Version/s: 4.0-beta5
                         3.11.10
                         3.0.24
                         2.2.20
          Since Version: 2.2.19
    Source Control Link: 
https://github.com/apache/cassandra/commit/276249910ec1c0aee881947fc81cd323cc604476
             Resolution: Fixed
                 Status: Resolved  (was: Ready to Commit)

> 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
>             Fix For: 2.2.20, 3.0.24, 3.11.10, 4.0-beta5
>
>
> 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]

Reply via email to