Repository: hbase Updated Branches: refs/heads/master 6944a17ad -> 7f44dfd85
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/7f44dfd8 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7f44dfd8 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7f44dfd8 Branch: refs/heads/master Commit: 7f44dfd85fc1aacd451cb8514fbce6dafd3443ca Parents: 6944a17 Author: Yu Li <l...@apache.org> Authored: Mon Jul 4 21:43:29 2016 +0800 Committer: Yu Li <l...@apache.org> Committed: Mon Jul 4 21:45:04 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/7f44dfd8/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 a197e90..0fbb2e7 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/7f44dfd8/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 0b94d24..e53a781 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 @@ -103,8 +103,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); }