Repository: hbase Updated Branches: refs/heads/branch-1.2 78ef0513b -> 8f8736d17
HBASE-16132 Scan does not return all the result when regionserver is busy (binlijin) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8f8736d1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8f8736d1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8f8736d1 Branch: refs/heads/branch-1.2 Commit: 8f8736d177e6bf6ac0c45672121827abc1f09d73 Parents: 78ef051 Author: Yu Li <l...@apache.org> Authored: Mon Jul 4 21:43:29 2016 +0800 Committer: Yu Li <l...@apache.org> Committed: Thu Jul 7 22:42:18 2016 +0800 ---------------------------------------------------------------------- .../hadoop/hbase/client/ScannerCallableWithReplicas.java | 6 +++++- .../org/apache/hadoop/hbase/master/HMasterCommandLine.java | 3 +-- 2 files changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/8f8736d1/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java index f8feca1..4d5bb0f 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java @@ -202,6 +202,9 @@ class ScannerCallableWithReplicas implements RetryingCallable<Result[]> { updateCurrentlyServingReplica(r.getSecond(), r.getFirst(), done, pool); } return r == null ? null : r.getFirst(); // great we got an answer + } else { + throw new IOException("Failed to get result within timeout, timeout=" + + timeout + "ms"); } } catch (ExecutionException e) { RpcRetryingCallerWithReadReplicas.throwEnrichedException(e, retries); @@ -216,7 +219,8 @@ class ScannerCallableWithReplicas implements RetryingCallable<Result[]> { // calls succeeded or failed. In all case, we stop all our tasks. cs.cancelAll(); } - return null; // unreachable + LOG.error("Imposible? Arrive at an unreachable line..."); // unreachable + throw new IOException("Imposible? Arrive at an unreachable line..."); } private void updateCurrentlyServingReplica(ScannerCallable scanner, Result[] result, http://git-wip-us.apache.org/repos/asf/hbase/blob/8f8736d1/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java index 706dc23..d2957c7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java @@ -101,8 +101,7 @@ public class HMasterCommandLine extends ServerCommandLine { // minRegionServers used to be minServers. Support it too. if (cmd.hasOption("minServers")) { String val = cmd.getOptionValue("minServers"); - getConf().setInt("hbase.regions.server.count.min", - Integer.parseInt(val)); + getConf().setInt("hbase.regions.server.count.min", Integer.parseInt(val)); LOG.debug("minServers set to " + val); }