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

Nicolas Spiegelberg commented on HBASE-3404:
--------------------------------------------

@Todd : You're thinking of the original idea for max compaction size pruning in 
HBASE-3209, where my first diff attempted to sort the files, then compact.  The 
problem is that we use StoreFile seqid during compaction to determine which 
value to use when we encounter a duplicate ROW+COL+TS.  The problem is this:

1.  we could have 3 StoreFiles with seqid [1,2,3]
2.  there is a duplicate in 1 & 2
3. we sort by size and 2 is small, so we compact [1,3]
4. the resulting StoreFile has seqid 3, so it would beat seqid 2 in compaction

This fix should be addressed in HBASE-2856, which associates each KV with a 
seqid.  However, I was hoping to get a quicker fix in for this case

> Compaction Ordering for Bulk Import Files
> -----------------------------------------
>
>                 Key: HBASE-3404
>                 URL: https://issues.apache.org/jira/browse/HBASE-3404
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.0, 0.90.1, 0.92.0
>            Reporter: Nicolas Spiegelberg
>            Assignee: Nicolas Spiegelberg
>
> We got into an issue today where we were using HFileOutputFormat to perform 
> an incremental load on an already-large cluster.  Because bulk-loaded files 
> don't have a sequence ID, they are put in the front of the StoreFile list.  
> This resulted in the following StoreFile ordering
> 2GB (bulk) => 25GB => 2GB => ...
> So this triggered a 30+GB major compaction for every single region.  
> Optimally, we would like bulk import files to be ordered in the compaction 
> list at the time of insertion so this can be a much smaller compaction and 
> rely on StoreFile age for major compaction trigger.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to