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

Ao Li edited comment on KAFKA-18418 at 1/6/25 9:03 PM:
-------------------------------------------------------

Actually, many tests fail because of this:

KafkaStreamsTest.shouldNotBlockInCloseForZeroDuration
KafkaStreamsTest.shouldReturnFalseOnCloseWhenThreadsHaventTerminated
KafkaStreamsTest.shouldNotBlockInCloseWithCloseOptionLeaveGroupFalseForZeroDuration
KafkaStreamsTest.shouldReturnFalseOnCloseWithCloseOptionWithLeaveGroupTrueWhenThreadsHaventTerminated
KafkaStreamsTest.shouldNotBlockInCloseWithCloseOptionLeaveGroupTrueForZeroDuration
KafkaStreamsTest.shouldReturnFalseOnCloseWithCloseOptionWithLeaveGroupFalseWhenThreadsHaventTerminated
KafkaStreamsTest.shouldThrowOnCleanupWhileShuttingDown
StreamThreadTest.shouldRecoverFromInvalidOffsetExceptionOnRestoreAndFinishRestore

Maybe its worth to find a fix in the KafkaStreams instead of fixing each unit 
test. 


was (Author: JIRAUSER306156):
Actually, many tests fail because of this:

KafkaStreamsTest.shouldNotBlockInCloseForZeroDuration
KafkaStreamsTest.shouldReturnFalseOnCloseWhenThreadsHaventTerminated
KafkaStreamsTest.shouldNotBlockInCloseWithCloseOptionLeaveGroupFalseForZeroDuration
KafkaStreamsTest.shouldReturnFalseOnCloseWithCloseOptionWithLeaveGroupTrueWhenThreadsHaventTerminated
KafkaStreamsTest.shouldNotBlockInCloseWithCloseOptionLeaveGroupTrueForZeroDuration
KafkaStreamsTest.shouldReturnFalseOnCloseWithCloseOptionWithLeaveGroupFalseWhenThreadsHaventTerminated

Maybe its worth to find a fix in the KafkaStreams instead of fixing each unit 
test. 

> Flaky test in 
> KafkaStreamsTest::shouldThrowOnCleanupWhileShuttingDownStreamClosedWithCloseOptionLeaveGroupFalse
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-18418
>                 URL: https://issues.apache.org/jira/browse/KAFKA-18418
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Ao Li
>            Assignee: Ao Li
>            Priority: Major
>
> KafkaStreams does not synchronize with CloseThread after shutdown thread 
> starts at line 
> https://github.com/apache/kafka/blob/c1163549081561cade03bbc6a29bfe6caad332a2/streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java#L1571
> So it is possible for the shutdown helper update the state of the 
> KafkaStreams 
> (https://github.com/apache/kafka/blob/c1163549081561cade03bbc6a29bfe6caad332a2/streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java#L1530)
>  before `waitOnState` is called 
> (https://github.com/apache/kafka/blob/c1163549081561cade03bbc6a29bfe6caad332a2/streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java#L1577).
>   
> If this happens, 
> `KafkaStreamsTest::shouldThrowOnCleanupWhileShuttingDownStreamClosedWithCloseOptionLeaveGroupFalse`
>  will fail. 
> Trace:
> ```
> Gradle Test Run :streams:test > Gradle Test Executor 7 > KafkaStreamsTest > 
> shouldThrowOnCleanupWhileShuttingDownStreamClosedWithCloseOptionLeaveGroupFalse()
>  FAILED
>     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.kafka.streams.KafkaStreamsTest.shouldThrowOnCleanupWhileShuttingDownStreamClosedWithCloseOptionLeaveGroupFalse(KafkaStreamsTest.java:986)
> ```
> Please check code https://github.com/aoli-al/kafka/tree/KAFKA-159, and run 
> `./gradlew :streams:test --tests 
> "org.apache.kafka.streams.KafkaStreamsTest.shouldThrowOnCleanupWhileShuttingDownStreamClosedWithCloseOptionLeaveGroupFalse"`
>  to reproduce the failure.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to