[ 
https://issues.apache.org/jira/browse/HBASE-21504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16741507#comment-16741507
 ] 

Alston Williams commented on HBASE-21504:
-----------------------------------------

I'm so sorry that I can't attach my patch in the comment. So I print it here:

{code:java}
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
index 5c0eee5..9c0ab9f 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
@@ -226,7 +226,7 @@ public abstract class TimeRangeTracker {
min = TimeRange.INITIAL_MIN_TIMESTAMP;
}
if (max == INITIAL_MAX_TIMESTAMP) {
- max = TimeRange.INITIAL_MAX_TIMESTAMP;
+ max = min;
}
return new TimeRange(min, max);
}
{code}

> 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)

Reply via email to