You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Nick Dimiduk (Jira)" <ji...@apache.org> on 2024/03/01 07:04:00 UTC
[jira] [Commented] (HBASE-28413) Fix race condition in TestCleanerChore.retriesIOExceptionInStatus
[ https://issues.apache.org/jira/browse/HBASE-28413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17822412#comment-17822412 ]
Nick Dimiduk commented on HBASE-28413:
--------------------------------------
Looking at the other test changes from HBASE-27321, I think that this is the only one that has such a race. FYI [~zhangduo].
> Fix race condition in TestCleanerChore.retriesIOExceptionInStatus
> -----------------------------------------------------------------
>
> Key: HBASE-28413
> URL: https://issues.apache.org/jira/browse/HBASE-28413
> Project: HBase
> Issue Type: Test
> Components: test
> Reporter: Nick Dimiduk
> Assignee: Nick Dimiduk
> Priority: Major
> Labels: pull-request-available
>
> We occasionally get a test failure in TestCleanerChore.retriesIOExceptionInStatus. For example, from a [recent PR build|https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5725/1/testReport/org.apache.hadoop.hbase.master.cleaner/TestCleanerChore/precommit_checks___yetus_jdk11_hadoop3_checks___retriesIOExceptionInStatus/] on branch-2.6,
> {noformat}
> java.util.concurrent.ExecutionException: java.io.IOException: whomp whomp.
> at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
> at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999)
> at org.apache.hadoop.hbase.master.cleaner.TestCleanerChore.retriesIOExceptionInStatus(TestCleanerChore.java:163)
> ...
> Caused by: java.io.IOException: whomp whomp.
> at org.apache.hadoop.hbase.master.cleaner.TestCleanerChore$1.listStatus(TestCleanerChore.java:134)
> at org.apache.hadoop.hbase.master.cleaner.CleanerChore.traverseAndDelete(CleanerChore.java:475)
> at org.apache.hadoop.hbase.master.cleaner.CleanerChore.lambda$chore$0(CleanerChore.java:258)
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> ... 1 more
> {noformat}
> This looks like a race condition where the chore manages an entire execution between when the flag is flipped and when the test thread gets back around to continuing execution. Make the test a little more pessimistic about its view of the world.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)