[
https://issues.apache.org/jira/browse/HBASE-21504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16741505#comment-16741505
]
Alston Williams commented on HBASE-21504:
-----------------------------------------
Hello,
I have tested this issue, and looked at the solution. But I think there is a
better solution.
Actually, this issue is caused by, the HStoreFile's max timestamp is
Long.MAX_VALUE if it is empty. And I think it is unreasonable.
I think it is more reasonable to set HStoreFile's max timestamp to it's min
timestamp if max timestamp is not present. And based on this solution, I export
a patch. I have also tested it by the unit test provided by author.
Thanks if you can give it a look.
> If enable FIFOCompactionPolicy, a compaction may write a "empty" hfile whose
> maxTimeStamp is long max. This kind of hfile will never be archived.
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-21504
> URL: https://issues.apache.org/jira/browse/HBASE-21504
> Project: HBase
> Issue Type: Bug
> Components: Compaction
> Affects Versions: 2.1.0
> Reporter: xuming
> Assignee: Zheng Hu
> Priority: Critical
> Fix For: 3.0.0, 1.5.0, 2.2.0, 1.4.9, 2.1.2, 1.2.10, 2.0.4
>
> Attachments: 1.patch, HBASE-21504.v1.patch
>
>
> When i use FIFOCompactionPolicy, and if all hfiles(>1) are TTL expired in a
> region, once we do a compaction on the region, the compaction policy will
> select the latest hfile to do compaction.But beacuse the latest hfile is
> already TTL expired, compactor only write a "empty" hfile(whose entry counter
> is 0 and maxTimeStamp is Long.MAX_VALUE) finally. Because maxTimeStamp is
> long max, so the "empty" hfile will never be TTL expired, more seriously we
> can not archive it by FIFOCompactionPolicy forever.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)