UladzislauBlok opened a new pull request, #19927:
URL: https://github.com/apache/kafka/pull/19927

   This MR should be couple of race conditions in RemoteIndexCacheTest.
   
   1. There was a race condition between cache-cleanup-thread and test
   thread, which wants to check that cache is gone. This was fixed with
   TestUtils#waitForCondition
   2. After each test we check that there is not thread leak. This check
   wasn't working properly, because live of thread status is set by JVM
   level, we can only set interrupted status (using private native void
   interrupt0(); method under the hood), but we don't really know when JVM
   will change the live status of thread. To fix this I've refactored
   TestUtils#assertNoLeakedThreadsWithNameAndDaemonStatus method to use
   TestUtils#waitForCondition. This fix should also affect few other tests,
   which were flaky because of this check. See gradle run on
   
[develocity](https://develocity.apache.org/scans/tests?search.rootProjectNames=kafka&search.timeZoneId=Europe%2FLondon&tests.container=org.apache.kafka.storage.internals.log.RemoteIndexCacheTest&tests.sortField=FLAKY)
   
   After fix test were run 10000 times with repeated test annotation:
   
   `./gradlew clean storage:test --tests
   
org.apache.kafka.storage.internals.log.RemoteIndexCacheTest.testCacheEntryIsDeletedOnRemoval`
   ...  `Gradle Test Run :storage:test > Gradle Test Executor 20 >
   RemoteIndexCacheTest > testCacheEntryIsDeletedOnRemoval() > repetition
   9998 of 10000 PASSED`  `Gradle Test Run :storage:test > Gradle Test
   Executor 20 > RemoteIndexCacheTest > testCacheEntryIsDeletedOnRemoval()
   > repetition 9999 of 10000 PASSED`  `Gradle Test Run :storage:test >
   Gradle Test Executor 20 > RemoteIndexCacheTest >
   testCacheEntryIsDeletedOnRemoval() > repetition 10000 of 10000 PASSED`
   `BUILD SUCCESSFUL in 20m 9s`  `148 actionable tasks: 148 executed`
   
   Reviewers: Lianet Magrans <[email protected]>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to