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 2011/12/14 20:57:43 UTC

svn commit: r1214431 - in /hbase/trunk: CHANGES.txt src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Author: tedyu
Date: Wed Dec 14 19:57:42 2011
New Revision: 1214431

URL: http://svn.apache.org/viewvc?rev=1214431&view=rev
Log:
HBASE-5026  Add coprocessor hook to HRegionServer.ScannerListener.leaseExpired()

Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1214431&r1=1214430&r2=1214431&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Wed Dec 14 19:57:42 2011
@@ -456,6 +456,7 @@ Release 0.92.0 - Unreleased
    HBASE-4610  Port HBASE-3380 (Master failover can split logs of live servers) to 92/trunk
    HBASE-4946  HTable.coprocessorExec (and possibly coprocessorProxy) does not work with
                dynamically loaded coprocessors (Andrei Dragomir)
+   HBASE-5026  Add coprocessor hook to HRegionServer.ScannerListener.leaseExpired()
 
   TESTS
    HBASE-4450  test for number of blocks read: to serve as baseline for expected

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1214431&r1=1214430&r2=1214431&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Wed Dec 14 19:57:42 2011
@@ -2421,9 +2421,18 @@ public class HRegionServer implements HR
       RegionScanner s = scanners.remove(this.scannerName);
       if (s != null) {
         try {
+          HRegion region = getRegion(s.getRegionInfo().getRegionName());
+          if (region != null && region.getCoprocessorHost() != null) {
+            region.getCoprocessorHost().preScannerClose(s);
+          }
+
           s.close();
+          if (region != null && region.getCoprocessorHost() != null) {
+            region.getCoprocessorHost().postScannerClose(s);
+          }
         } catch (IOException e) {
-          LOG.error("Closing scanner", e);
+          LOG.error("Closing scanner for "
+              + s.getRegionInfo().getRegionNameAsString(), e);
         }
       }
     }