You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jean-Marc Spaggiari (JIRA)" <ji...@apache.org> on 2013/09/25 01:00:02 UTC

[jira] [Updated] (HBASE-9648) collection one expired storefile causes it to be replaced by another expired storefile

     [ https://issues.apache.org/jira/browse/HBASE-9648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Marc Spaggiari updated HBASE-9648:
---------------------------------------

    Attachment: HBASE-9648-v0-0.94.patch

So here is the idea.

Since the file is empty, there is no TIMERANGE stored into the file. And therefor, the selectExpiredStoreFilesToCompact method will elect it for compaction.

This patch is to validate that, if there is only a single empty file, we don't elect it for compaction.

If there is more than one file, even if they are all empty, they still can be selected since it's better to have just a single one at the end instead of multiple empty files.

Patch for trunk coming in a second.

                
> 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
>         Attachments: HBASE-9648-v0-0.94.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