hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Marc Spaggiari (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9648) collection one expired storefile causes it to be replaced by another expired storefile
Date Wed, 25 Sep 2013 04:47:04 GMT

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

Jean-Marc Spaggiari commented on HBASE-9648:
--------------------------------------------

Ok. I see your point.

In trunk, the code moved to DefaultCompactor
{code}
        // Create the writer even if no kv(Empty store file is also ok),
        // because we need record the max seq id for the store file, see HBASE-6059
        writer = store.createWriterInTmp(fd.maxKeyCount, this.compactionCompression, true,
            fd.maxMVCCReadpoint >= smallestReadPoint, fd.maxTagsLength > 0);
{code}

So basically, we need to avoid creating this empty file if it doesn't have the max seq id.
The thing is, we don't have this information there.

However, the modification to RatioBasedcompactionPolicy.selectExpiredStoreFiles should not
be difficult.

... Ok. I think I found something. I will draft that and post it tomorrow morning for your
review.

                
> 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
>
>
> 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

Mime
View raw message