You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2015/12/24 22:03:23 UTC
[4/4] hbase git commit: HBASE-14822; addendum - handle callSeq.
HBASE-14822; addendum - handle callSeq.
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8ef49b31
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8ef49b31
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8ef49b31
Branch: refs/heads/branch-1.1
Commit: 8ef49b3147fc002a6aebc0d6d904f00743d02531
Parents: 6b5645e
Author: Lars Hofhansl <la...@apache.org>
Authored: Thu Dec 24 12:55:39 2015 -0800
Committer: Lars Hofhansl <la...@apache.org>
Committed: Thu Dec 24 13:02:02 2015 -0800
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/regionserver/RSRpcServices.java | 5 ++++-
.../org/apache/hadoop/hbase/client/TestLeaseRenewal.java | 8 ++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/8ef49b31/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index 4b74751..7320c36 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -2269,9 +2269,12 @@ public class RSRpcServices implements HBaseRPCErrorHandler,
ttl = this.scannerLeaseTimeoutPeriod;
}
if (request.hasRenew() && request.getRenew()) {
+ rsh = scanners.get(scannerName);
lease = regionServer.leases.removeLease(scannerName);
- if (lease != null && scanners.containsKey(scannerName)) {
+ if (lease != null && rsh != null) {
regionServer.leases.addLease(lease);
+ // Increment the nextCallSeq value which is the next expected from client.
+ rsh.incNextCallSeq();
}
return builder.build();
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/8ef49b31/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java
index fd9c9bb..3333f54 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java
@@ -26,10 +26,13 @@ import java.util.Arrays;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.CompatibilityFactory;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.ipc.MetricsHBaseServerSource;
+import org.apache.hadoop.hbase.test.MetricsAssertHelper;
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.After;
@@ -41,6 +44,8 @@ import org.junit.experimental.categories.Category;
@Category(LargeTests.class)
public class TestLeaseRenewal {
+ public MetricsAssertHelper HELPER = CompatibilityFactory.getInstance(MetricsAssertHelper.class);
+
final Log LOG = LogFactory.getLog(getClass());
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private static byte[] FAMILY = Bytes.toBytes("testFamily");
@@ -121,5 +126,8 @@ public class TestLeaseRenewal {
assertFalse(((AbstractClientScanner)rs).renewLease());
rs.close();
table.close();
+ MetricsHBaseServerSource serverSource = TEST_UTIL.getMiniHBaseCluster().getRegionServer(0)
+ .getRpcServer().getMetrics().getMetricsSource();
+ HELPER.assertCounter("exceptions.OutOfOrderScannerNextException", 0, serverSource);
}
}