[ 
https://issues.apache.org/jira/browse/CASSANDRA-21054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18042301#comment-18042301
 ] 

Yifan Cai commented on CASSANDRA-21054:
---------------------------------------

PR: https://github.com/apache/cassandra/pull/4510

The cause of the intermittent failure is the race condition between compaction 
and dictionary training. The sstable references are already released and new 
sstables are not yet visible to the training process. Therefore the training 
process sees too few samples and fails to produce a dictionary.

The fix is to disable auto compaction, since it is not something to test by 
this unit test.

> Test failure: 
> CompressionDictionarySchedulerTest.testScheduleSSTableBasedTrainingWithSSTables
> ---------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-21054
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21054
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Local/SSTable
>            Reporter: Dmitry Konstantinov
>            Assignee: Yifan Cai
>            Priority: Normal
>
> Examples of CI runs with the test failure, it is failing quite consistent:
> [https://ci-cassandra.apache.org/job/Cassandra-trunk/2335/#showFailuresLink] 
> [https://ci-cassandra.apache.org/job/Cassandra-trunk/2338/#showFailuresLink]
> [https://ci-cassandra.apache.org/job/Cassandra-trunk/2340/#showFailuresLink]
>  
> {code:java}
> Assertion condition defined as a lambda expression in 
> org.apache.cassandra.Util that uses java.util.concurrent.Callable 
> Expected: <true>
>      but: was <false> within 10 seconds. {code}
> {code:java}
> org.awaitility.core.ConditionTimeoutException: Assertion condition defined as 
> a lambda expression in org.apache.cassandra.Util that uses 
> java.util.concurrent.Callable 
> Expected: <true>
>      but: was <false> within 10 seconds.
>       at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:165)
>       at 
> org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
>       at 
> org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
>       at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:895)
>       at 
> org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:679)
>       at org.apache.cassandra.Util.spinUntilTrue(Util.java:793)
>       at org.apache.cassandra.Util.spinUntilTrue(Util.java:778)
>       at 
> org.apache.cassandra.db.compression.CompressionDictionarySchedulerTest.testScheduleSSTableBasedTrainingWithSSTables(CompressionDictionarySchedulerTest.java:102)
>       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)
> Caused by: java.lang.AssertionError: 
> Expected: <true>
>      but: was <false>
>       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
>       at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
>       at org.apache.cassandra.Util.lambda$spinUntilTrue$3(Util.java:793)
>       at 
> org.awaitility.core.AssertionCondition.lambda$new$0(AssertionCondition.java:53)
>       at 
> org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:222)
>       at 
> org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:209)
>       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>       at java.base/java.lang.Thread.run(Thread.java:829) {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]

Reply via email to