Return-Path: X-Original-To: apmail-hbase-commits-archive@www.apache.org Delivered-To: apmail-hbase-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BECE9963C for ; Thu, 13 Oct 2011 18:14:35 +0000 (UTC) Received: (qmail 44981 invoked by uid 500); 13 Oct 2011 18:14:35 -0000 Delivered-To: apmail-hbase-commits-archive@hbase.apache.org Received: (qmail 44962 invoked by uid 500); 13 Oct 2011 18:14:35 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 44955 invoked by uid 99); 13 Oct 2011 18:14:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Oct 2011 18:14:35 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Oct 2011 18:14:32 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 28C5B23889DA for ; Thu, 13 Oct 2011 18:14:11 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1183018 - in /hbase/branches/0.92: CHANGES.txt src/main/java/org/apache/hadoop/hbase/regionserver/Store.java src/main/java/org/apache/hadoop/hbase/util/HMerge.java Date: Thu, 13 Oct 2011 18:14:10 -0000 To: commits@hbase.apache.org From: larsh@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111013181411.28C5B23889DA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: larsh Date: Thu Oct 13 18:14:10 2011 New Revision: 1183018 URL: http://svn.apache.org/viewvc?rev=1183018&view=rev Log: HBASE-4556 Fix all incorrect uses of InternalScanner.next(...) Modified: hbase/branches/0.92/CHANGES.txt hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/util/HMerge.java Modified: hbase/branches/0.92/CHANGES.txt URL: http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1183018&r1=1183017&r2=1183018&view=diff ============================================================================== --- hbase/branches/0.92/CHANGES.txt (original) +++ hbase/branches/0.92/CHANGES.txt Thu Oct 13 18:14:10 2011 @@ -334,6 +334,7 @@ Release 0.92.0 - Unreleased HBASE-4555 TestShell seems passed, but actually errors seen in test output file (Mingjie Lai) HBASE-4582 Store.java cleanup (failing TestHeapSize and has warnings) + HBASE-4556 Fix all incorrect uses of InternalScanner.next(...) (Lars H) TESTS HBASE-4492 TestRollingRestart fails intermittently Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java?rev=1183018&r1=1183017&r2=1183018&view=diff ============================================================================== --- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java (original) +++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java Thu Oct 13 18:14:10 2011 @@ -1146,7 +1146,9 @@ public class Store implements HeapSize { // we have to use a do/while loop. ArrayList kvs = new ArrayList(); // Limit to "hbase.hstore.compaction.kv.max" (default 10) to avoid OOME - while (scanner.next(kvs,this.compactionKVMax)) { + boolean hasMore; + do { + hasMore = scanner.next(kvs, this.compactionKVMax); if (writer == null && !kvs.isEmpty()) { writer = createWriterInTmp(maxKeyCount, this.compactionCompression); @@ -1176,7 +1178,7 @@ public class Store implements HeapSize { } } kvs.clear(); - } + } while (hasMore); } finally { if (scanner != null) { scanner.close(); Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/util/HMerge.java URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/util/HMerge.java?rev=1183018&r1=1183017&r2=1183018&view=diff ============================================================================== --- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/util/HMerge.java (original) +++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/util/HMerge.java Thu Oct 13 18:14:10 2011 @@ -19,6 +19,12 @@ */ package org.apache.hadoop.hbase.util; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Random; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -44,12 +50,6 @@ import org.apache.hadoop.hbase.regionser import org.apache.hadoop.hbase.regionserver.InternalScanner; import org.apache.hadoop.hbase.regionserver.wal.HLog; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.Random; - /** * A non-instantiable class that has a static method capable of compacting * a table by merging adjacent regions. @@ -370,14 +370,16 @@ class HMerge { try { List results = new ArrayList(); - while(rootScanner.next(results)) { + boolean hasMore; + do { + hasMore = rootScanner.next(results); for(KeyValue kv: results) { HRegionInfo info = Writables.getHRegionInfoOrNull(kv.getValue()); if (info != null) { metaRegions.add(info); } } - } + } while (hasMore); } finally { rootScanner.close(); try {