Return-Path: Delivered-To: apmail-hadoop-hbase-commits-archive@locus.apache.org Received: (qmail 74420 invoked from network); 22 Jul 2008 21:48:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Jul 2008 21:48:25 -0000 Received: (qmail 11145 invoked by uid 500); 22 Jul 2008 21:48:25 -0000 Delivered-To: apmail-hadoop-hbase-commits-archive@hadoop.apache.org Received: (qmail 11130 invoked by uid 500); 22 Jul 2008 21:48:25 -0000 Mailing-List: contact hbase-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hbase-dev@hadoop.apache.org Delivered-To: mailing list hbase-commits@hadoop.apache.org Received: (qmail 11121 invoked by uid 99); 22 Jul 2008 21:48:25 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Jul 2008 14:48:25 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.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; Tue, 22 Jul 2008 21:47:38 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 00C83238889D; Tue, 22 Jul 2008 14:48:03 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r678918 - /hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStore.java Date: Tue, 22 Jul 2008 21:48:03 -0000 To: hbase-commits@hadoop.apache.org From: stack@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080722214804.00C83238889D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: stack Date: Tue Jul 22 14:48:03 2008 New Revision: 678918 URL: http://svn.apache.org/viewvc?rev=678918&view=rev Log: HBASE-761 IOE: Stream closed exception all over logs Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStore.java Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStore.java URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStore.java?rev=678918&r1=678917&r2=678918&view=diff ============================================================================== --- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStore.java (original) +++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStore.java Tue Jul 22 14:48:03 2008 @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashMap; @@ -861,8 +862,8 @@ * us to throw out deleted values or obsolete versions. */ private void compactHStoreFiles(final MapFile.Writer compactedOut, - final List readers) throws IOException { - + final List readers) + throws IOException { MapFile.Reader[] rdrs = readers.toArray(new MapFile.Reader[readers.size()]); try { HStoreKey[] keys = new HStoreKey[rdrs.length]; @@ -897,7 +898,7 @@ // therefore the one whose value should make it out to the compacted // store file. int smallestKey = -1; - for(int i = 0; i < rdrs.length; i++) { + for (int i = 0; i < rdrs.length; i++) { if(done[i]) { continue; } @@ -941,8 +942,7 @@ // Advance the smallest key. If that reader's all finished, then // mark it as done. - if(!rdrs[smallestKey].next(keys[smallestKey], - vals[smallestKey])) { + if (!rdrs[smallestKey].next(keys[smallestKey], vals[smallestKey])) { done[smallestKey] = true; rdrs[smallestKey].close(); rdrs[smallestKey] = null; @@ -950,14 +950,16 @@ } } } finally { - closeCompactionReaders(readers); + closeCompactionReaders(Arrays.asList(rdrs)); } } private void closeCompactionReaders(final List rdrs) { for (MapFile.Reader r: rdrs) { try { - r.close(); + if (r != null) { + r.close(); + } } catch (IOException e) { LOG.warn("Exception closing reader for " + this.storeNameStr, e); }