[
https://issues.apache.org/jira/browse/CASSANDRA-17819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17585590#comment-17585590
]
Jacek Lewandowski commented on CASSANDRA-17819:
-----------------------------------------------
I've applied one more modification in semantics. Now I think it works quite
consistently.
When a caller requests schema reset, we do nothing to the schema, but instead
we set a flag that the reset was requested.
This flag tricks coordinator so that it thinks the node has empty schema. This
will make it apply whatever schema which is received. And when the schema is
received while the flag is set, the schema mutations are applied on a truncated
schema table instead of merging. The flag is then cleared. If we don't manage
to receive a schema within a timeout, we simply clear the flag and throw
exception. This way, unless we receive the schema from other node, we do not
touch the existing schema.
> Test failure: org.apache.cassandra.distributed.test.SchemaTest.schemaReset
> --------------------------------------------------------------------------
>
> Key: CASSANDRA-17819
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17819
> Project: Cassandra
> Issue Type: Bug
> Components: Test/dtest/java
> Reporter: Andres de la Peña
> Assignee: Jacek Lewandowski
> Priority: Normal
> Fix For: 4.1-beta, 4.x
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> The test
> {{{}org.apache.cassandra.distributed.test.SchemaTest.schemaReset{}}},
> recently introduced by CASSANDRA-17658, is flaky on 4.1 and trunk:
> * 4.1:
> [https://ci-cassandra.apache.org/job/Cassandra-4.1/134/testReport/org.apache.cassandra.distributed.test/SchemaTest/schemaReset_2/]
> * trunk:
> [https://ci-cassandra.apache.org/job/Cassandra-trunk/1265/testReport/org.apache.cassandra.distributed.test/SchemaTest/schemaReset_2/]
> {code:java}
> Error Message
> Condition with lambda expression in
> org.apache.cassandra.distributed.test.SchemaTest that uses
> org.apache.cassandra.distributed.Cluster was not fulfilled within 1 minutes.
> Stacktrace
> org.awaitility.core.ConditionTimeoutException: Condition with lambda
> expression in org.apache.cassandra.distributed.test.SchemaTest that uses
> org.apache.cassandra.distributed.Cluster was not fulfilled within 1 minutes.
> at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
> at
> org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
> at
> org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
> at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
> at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:864)
> at
> org.apache.cassandra.distributed.test.SchemaTest.schemaReset(SchemaTest.java:115)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> Standard Output
> INFO [main] <main> 2022-08-15 15:02:14,783 Reflections.java:219 -
> Reflections took 1873 ms to scan 8 urls, producing 1754 keys and 6912 values
> INFO [main] <main> 2022-08-15 15:02:16,407 Reflections.java:219 -
> Reflections took 1561 ms to scan 8 urls, producing 1754 keys and 6912 values
> Node id topology:
> node 1: dc = datacenter0, rack = rack0
> node 2: dc = datacenter0, rack = rack0
> Configured node count: 2, nodeIdTopology size: 2
> DEBUG [main] node1 2022-08-15 15:02:17,554 InternalLoggerFactory.ja
> ...[truncated 1761288 chars]...
> cutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.lang.Thread.run(Thread.java:748)
> INFO [node2_isolatedExecutor:3] node2 2022-08-15 15:03:52,096
> MessagingService.java:519 - Waiting for messaging service to quiesce
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]