[
https://issues.apache.org/jira/browse/HBASE-9648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13778470#comment-13778470
]
Jean-Marc Spaggiari commented on HBASE-9648:
--------------------------------------------
[~sershe]:
{quote}
For the expired selection check, candidate list is not the same as list of
files in store.
{quote}
I will change to comment to say "If the last candidate" instead...
{quote}
presence of data in input doesn't mean that there'd be anything in the output
{quote}
I agree. Maybe everything will be deleted by the compaction, TTL, etc. But
worst case, that will write an empty file wich will be avoided at the next
iteration.
I will take a look how we can implement a test for that.
{code}
Can we just not do the immediate deletion of the HFile when getMaxTimestamp()
returns -1?
{code}
We can, but are they not going to stay there for ever if we do that? Or is
another process going to clean them later?
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira