Amend HBASE-18000 Make sure we always return the scanner id with ScanResponse (Karan Mehta and Duo Zhang)
Move getRegionScanner() call below builder.setScannerId() to handle a corner case. Conflicts: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5cbc041b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5cbc041b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5cbc041b Branch: refs/heads/branch-1.3 Commit: 5cbc041b970be90c8938e136003a58f6829cf451 Parents: 80d7d1a Author: Andrew Purtell <apurt...@apache.org> Authored: Thu May 11 14:34:04 2017 -0700 Committer: Andrew Purtell <apurt...@apache.org> Committed: Thu May 11 14:39:12 2017 -0700 ---------------------------------------------------------------------- .../java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/5cbc041b/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 9f311d6..d3d64c8 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 @@ -2747,11 +2747,11 @@ public class RSRpcServices implements HBaseRPCErrorHandler, boolean isSmallScan; try { if (request.hasScannerId()) { - rsh = getRegionScanner(request); - isSmallScan = false; // The downstream projects such as AsyncHBase in OpenTSDB need this value. See HBASE-18000 // for more details. builder.setScannerId(request.getScannerId()); + rsh = getRegionScanner(request); + isSmallScan = false; } else { Pair<RegionScannerHolder, Boolean> pair = newRegionScanner(request, builder); rsh = pair.getFirst();