You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Caleb Rackliffe (Jira)" <ji...@apache.org> on 2021/01/26 17:25:00 UTC

[jira] [Assigned] (CASSANDRA-16394) Fix schema aggreement race conditions in in-JVM dtests

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

Caleb Rackliffe reassigned CASSANDRA-16394:
-------------------------------------------

    Assignee: Alex Petrov

> 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org