[
https://issues.apache.org/jira/browse/HBASE-25680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhengxi Li updated HBASE-25680:
-------------------------------
Attachment: HBASE-25680.master.001.patch
> Non-idempotent test in TestReplicationHFileCleaner
> --------------------------------------------------
>
> Key: HBASE-25680
> URL: https://issues.apache.org/jira/browse/HBASE-25680
> Project: HBase
> Issue Type: Test
> Reporter: Zhengxi Li
> Priority: Minor
> Attachments: HBASE-25680.master.001.patch
>
>
> The test
> *{{org.apache.hadoop.hbase.master.cleaner.TestReplicationHFileCleaner.testIsFileDeletable}}*
> is not idempotent and fail if run twice in the same JVM, because it pollutes
> some states shared among tests. It may be good to clean this state pollution
> so that some other tests do not fail in the future due to the shared state
> polluted by this test.
> h3. Detail
> Running {{TestReplicationHFileCleaner.testIsFileDeletable}} twice would
> result in the second run failing due to the following assertion error:
> {noformat}
> java.lang.AssertionError: Cleaner should allow to delete this file as there
> is
> no hfile reference node for it in the queue.
> {noformat}
> The root cause is that the a hfile reference is added during the first test
> run, which doesn't get removed upon test exits. Therefore, in the second test
> run , {{cleaner.isFileDeletable(fs.getFileStatus(file)))}} would return
> {{false}}, resulting in the assertion error.
>
> PR link: https://github.com/apache/hbase/pull/2984
--
This message was sent by Atlassian Jira
(v8.3.4#803005)