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

Lars Hofhansl commented on HBASE-9648:
--------------------------------------

I might be misunderstanding the issue...
When hbase.store.delete.expired.storefile is true an old storefile is nuked 
immediately as part of the selection process (rather than being compacted and 
then deleted). The issue is when we only have a single store file left and it 
is expired, in that case we nuke, but write a new (empty) one to keep the 
sequenceId; this file is then nuked (because we return -1 from 
getMaxTimestamp() for empty files), and from here we repeat the same cycle. 
Another apparent issue is the ratio based selection with empty files.

> collection one expired storefile causes it to be replaced by another expired 
> storefile
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-9648
>                 URL: https://issues.apache.org/jira/browse/HBASE-9648
>             Project: HBase
>          Issue Type: Bug
>          Components: Compaction
>            Reporter: Sergey Shelukhin
>            Assignee: Jean-Marc Spaggiari
>         Attachments: HBASE-9648-v0-0.94.patch, HBASE-9648-v0-trunk.patch, 
> HBASE-9648-v1-trunk.patch
>
>
> There's a shortcut in compaction selection that causes the selection of 
> expired store files to quickly delete.
> However, there's also the code that ensures we write at least one file to 
> preserve seqnum. This new empty file is "expired", because it has no data, 
> presumably.
> So it's collected again, etc.
> This affects 94, probably also 96.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to