[
https://issues.apache.org/jira/browse/HBASE-25680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang updated HBASE-25680:
------------------------------
Fix Version/s: 2.3.7
2.4.6
3.0.0-alpha-2
2.5.0
Hadoop Flags: Reviewed
Resolution: Fixed
Status: Resolved (was: Patch Available)
Pushed to branch-2.3+.
Thanks [~lzx404243] for contributing.
> Non-idempotent test in TestReplicationHFileCleaner
> --------------------------------------------------
>
> Key: HBASE-25680
> URL: https://issues.apache.org/jira/browse/HBASE-25680
> Project: HBase
> Issue Type: Improvement
> Components: test
> Reporter: Zhengxi Li
> Assignee: Zhengxi Li
> Priority: Minor
> Fix For: 2.5.0, 3.0.0-alpha-2, 2.4.6, 2.3.7
>
> 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)