You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2014/03/06 02:42:02 UTC

svn commit: r1574742 - /hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Author: tedyu
Date: Thu Mar  6 01:42:02 2014
New Revision: 1574742

URL: http://svn.apache.org/r1574742
Log:
HBASE-10662 RegionScanner is never closed if the region has been moved-out or re-opened when performing scan request


Modified:
    hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Modified: hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1574742&r1=1574741&r2=1574742&view=diff
==============================================================================
--- hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.98/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Mar  6 01:42:02 2014
@@ -3204,7 +3204,14 @@ public class HRegionServer implements Cl
       return builder.build();
     } catch (IOException ie) {
       if (scannerName != null && ie instanceof NotServingRegionException) {
-        scanners.remove(scannerName);
+        RegionScannerHolder rsh = scanners.remove(scannerName);
+        if (rsh != null) {
+          try {
+            RegionScanner scanner = rsh.s;
+            scanner.close();
+            leases.cancelLease(scannerName);
+          } catch (IOException e) {}
+        }
       }
       throw new ServiceException(ie);
     }