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

huaxiang sun commented on HBASE-17215:
--------------------------------------

Thanks [~carp84] for the patch! The patch looks great. I went through the patch 
and left couple comments there. Maybe as a followup, can these two threads 
share a LinkedBlockingDeque? So large-size file is added to the head of the 
queue and small-size files are added to the tail. the large-file-thread poll 
from the head and the small-file-thread poll from the end. In this sense, no 
thread will be idle when there are works to do. What do you think? 

> Separate small/large file delete threads in HFileCleaner to accelerate 
> archived hfile cleanup speed
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-17215
>                 URL: https://issues.apache.org/jira/browse/HBASE-17215
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Yu Li
>            Assignee: Yu Li
>         Attachments: HBASE-17215.patch
>
>
> When using PCIe-SSD the flush speed will be really quick, and although we 
> have per CF flush, we still have the 
> {{hbase.regionserver.optionalcacheflushinterval}} setting and some other 
> mechanism to avoid data kept in memory for too long to flush small hfiles. In 
> our online environment we found the single thread cleaner kept cleaning 
> earlier flushed small files while large files got no chance, which caused 
> disk full then many other problems.
> Deleting hfiles in parallel with too many threads will also increase the 
> workload of namenode, so here we propose to separate large/small hfile 
> cleaner threads just like we do for compaction, and it turned out to work 
> well in our cluster.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to