You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jm...@apache.org on 2012/01/27 00:30:48 UTC

svn commit: r1236445 - /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Author: jmhsieh
Date: Thu Jan 26 23:30:47 2012
New Revision: 1236445

URL: http://svn.apache.org/viewvc?rev=1236445&view=rev
Log:
HBASE-5282 Possible file handle leak with truncated HLog file


Modified:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1236445&r1=1236444&r2=1236445&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Thu Jan 26 23:30:47 2012
@@ -2739,8 +2739,9 @@ public class HRegion implements HeapSize
     MonitoredTask status = TaskMonitor.get().createStatus(msg);
 
     status.setStatus("Opening logs");
-    HLog.Reader reader = HLog.getReader(this.fs, edits, conf);
+    HLog.Reader reader = null;
     try {
+      reader = HLog.getReader(this.fs, edits, conf);
       long currentEditSeqId = minSeqId;
       long firstSeqIdInLog = -1;
       long skippedEdits = 0;
@@ -2871,8 +2872,10 @@ public class HRegion implements HeapSize
       LOG.debug(msg);
       return currentEditSeqId;
     } finally {
-      reader.close();
       status.cleanup();
+      if (reader != null) {  
+         reader.close();
+      }
     }
   }