You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2013/05/24 05:34:36 UTC

svn commit: r1485929 - /hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java

Author: stack
Date: Fri May 24 03:34:35 2013
New Revision: 1485929

URL: http://svn.apache.org/r1485929
Log:
HBASE-8606 Meta scanner is not closed

Modified:
    hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java

Modified: hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java?rev=1485929&r1=1485928&r2=1485929&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java (original)
+++ hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java Fri May 24 03:34:35 2013
@@ -127,6 +127,7 @@ public class MetaScanner {
     HTable metaTable = new HTable(configuration, HConstants.META_TABLE_NAME);
     // Calculate startrow for scan.
     byte[] startRow;
+    ResultScanner scanner = null;
     try {
       if (row != null) {
         // Scan starting at a particular row in a particular table
@@ -160,7 +161,7 @@ public class MetaScanner {
           Bytes.toStringBinary(startRow) + " for max=" + rowUpperLimit + " with caching=" + rows);
       }
       // Run the scan
-      ResultScanner scanner = metaTable.getScanner(scan);
+      scanner = metaTable.getScanner(scan);
       Result result = null;
       int processedRows = 0;
       while ((result = scanner.next()) != null) {
@@ -171,8 +172,27 @@ public class MetaScanner {
         if (processedRows >= rowUpperLimit) break;
       }
     } finally {
-      if (visitor != null) visitor.close();
-      if (metaTable != null) metaTable.close();
+      if (scanner != null) {
+        try {
+          scanner.close();
+        } catch (Throwable t) {
+          LOG.debug("Got exception in closing the result scanner", t);
+        }
+      }
+      if (visitor != null) {
+        try {
+          visitor.close();
+        } catch (Throwable t) {
+          LOG.debug("Got exception in closing the meta scanner visitor", t);
+        }
+      }
+      if (metaTable != null) {
+        try {
+          metaTable.close();
+        } catch (Throwable t) {
+          LOG.debug("Got exception in closing the meta table", t);
+        }
+      }
     }
   }