Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B94A7118B4 for ; Sun, 22 Jun 2014 14:13:24 +0000 (UTC) Received: (qmail 33892 invoked by uid 500); 22 Jun 2014 14:13:24 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 33842 invoked by uid 500); 22 Jun 2014 14:13:24 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 33831 invoked by uid 99); 22 Jun 2014 14:13:24 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Jun 2014 14:13:24 +0000 Date: Sun, 22 Jun 2014 14:13:24 +0000 (UTC) From: "Hadoop QA (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-11397) When merging expired stripes, we need to create an empty file to preserve metadata. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-11397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14040143#comment-14040143 ] Hadoop QA commented on HBASE-11397: ----------------------------------- {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12651860/HBASE-11397.patch against trunk revision . ATTACHMENT ID: 12651860 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color:red}-1 patch{color}. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9818//console This message is automatically generated. > When merging expired stripes, we need to create an empty file to preserve metadata. > ----------------------------------------------------------------------------------- > > Key: HBASE-11397 > URL: https://issues.apache.org/jira/browse/HBASE-11397 > Project: HBase > Issue Type: Bug > Components: Compaction > Affects Versions: 0.98.2 > Environment: jdk1.7.0_45, hadoop-cdh5, hbase-0.98.2 > Reporter: Victor Xu > Attachments: HBASE-11397-AssertionError.png, HBASE-11397-HDFS.png, HBASE-11397-RS-Log.png, HBASE-11397-Stripe-Info.png, HBASE-11397.patch > > > Stripe Compaction is a good feature in 0.96 and 0.98. But when I used it in a heavy-write non-uniform row keys scenario(e.g. time dimension in a key), I came across some problems. > I made my stripes split at the size of 2G(hbase.store.stripe.sizeToSplit=2G), and soon there were tens of them. It was true that only the last stripe receiving the new keys kept compacting - old data didn't compact as much, or at all. However, the old stripes were still there when they all expired. I checked the source code and found that when compacting expired stripes, the StoreScanner may return no KVs so that SizeMultiWriter.append() is never called. That's to say, NO NEW FILE WILL BE CREATED. > My solution is to create an empty file to preserve metadata at the end of the SizeMultiWriter.commitWritersInternal(). -- This message was sent by Atlassian JIRA (v6.2#6252)