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

Stanislav Kozlovski commented on KAFKA-15140:
---------------------------------------------

Changing target fix version to 3.8 since this is not a blocker and we are 
cutting a 3.7 RC

 

> Improve TopicCommandIntegrationTest to be less flaky
> ----------------------------------------------------
>
>                 Key: KAFKA-15140
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15140
>             Project: Kafka
>          Issue Type: Test
>          Components: unit tests
>            Reporter: Divij Vaidya
>            Assignee: Lan Ding
>            Priority: Minor
>              Labels: flaky-test, newbie
>             Fix For: 3.5.1, 3.8.0
>
>
> *This is a good Jira for folks who are new to contributing to Kafka.*
> Tests in TopicCommandIntegrationTest get flaky from time to time. The 
> objective of the task is to make them more robust by doing the following:
> 1. Replace the usage {-}createAndWaitTopic{-}() adminClient.createTopics() 
> method and other places where were are creating a topic (without waiting) 
> with 
> TestUtils.createTopicWithAdmin(). The latter method already contains the 
> functionality to create a topic and wait for metadata to sync up.
> 2. Replace the number 6 at places such as 
> "adminClient.createTopics(
> Collections.singletonList(new NewTopic("foo_bar", 1, 6.toShort)))" with a 
> meaningful constant.
> 3. Add logs if an assertion fails, for example, lines such as "
> assertTrue(rows(0).startsWith(s"\tTopic: $testTopicName"), output)" should 
> have a third argument which prints the actual output printed so that we can 
> observe in the test logs on what was the output when assertion failed.
> 4. Replace occurrences of "\n" with System.lineSeparator() which is platform 
> independent
> 5. We should wait for reassignment to complete whenever we are re-assigning 
> partitions using alterconfig before we call describe to validate it. We could 
> use 
> TestUtils.waitForAllReassignmentsToComplete()
> *Motivation of this task*
> Try to fix the flaky test behaviour such as observed in 
> [https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-13924/5/testReport/junit/kafka.admin/TopicCommandIntegrationTest/Build___JDK_11_and_Scala_2_13___testDescribeUnderMinIsrPartitionsMixed_String__quorum_zk/]
>  
> {noformat}
> org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
>       at 
> app//org.junit.jupiter.api.AssertionFailureBuilder.build(AssertionFailureBuilder.java:151)
>       at 
> app//org.junit.jupiter.api.AssertionFailureBuilder.buildAndThrow(AssertionFailureBuilder.java:132)
>       at app//org.junit.jupiter.api.AssertTrue.failNotTrue(AssertTrue.java:63)
>       at app//org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:36)
>       at app//org.junit.jupiter.api.AssertTrue.assertTrue(AssertTrue.java:31)
>       at app//org.junit.jupiter.api.Assertions.assertTrue(Assertions.java:180)
>       at 
> app//kafka.admin.TopicCommandIntegrationTest.testDescribeUnderMinIsrPartitionsMixed(TopicCommandIntegrationTest.scala:794){noformat}



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

Reply via email to