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:33 UTC

svn commit: r1574743 - /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Author: tedyu
Date: Thu Mar  6 01:42:32 2014
New Revision: 1574743

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


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

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1574743&r1=1574742&r2=1574743&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Mar  6 01:42:32 2014
@@ -3235,7 +3235,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);
     }