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);
}