ramkrish86 commented on a change in pull request #2483:
URL: https://github.com/apache/hbase/pull/2483#discussion_r498666595



##########
File path: 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
##########
@@ -3498,6 +3501,18 @@ public ScanResponse scan(final RpcController controller, 
final ScanRequest reque
       throw new ServiceException(e);
     }
     HRegion region = rsh.r;
+    // If the start row is the actual start Row of the region and end row is 
actual end row of region
+    // or
+    // If the stop is not specified or the stop Row is greater than the end 
key of the current region
+    if ((Bytes.equals(rsh.s.getStartRow(), 
region.getRegionInfo().getStartKey())
+      && Bytes.equals(rsh.s.getStopRow(), region.getRegionInfo().getEndKey()))
+      || Bytes.equals(rsh.s.getStopRow(), HConstants.EMPTY_END_ROW)
+      || (Bytes.compareTo(region.getRegionInfo().getEndKey(), 
rsh.s.getStopRow()) <= 0
+      && !Bytes.equals(region.getRegionInfo().getEndKey(), 
HConstants.EMPTY_END_ROW))) {
+      if(!region.getTableDescriptor().isMetaTable()) {

Review comment:
       Currently the number of scan requests that we get is also based on the 
scan() call that happens at the RsRpcServices. Also if a scan query is spanning 
across two regions - we wil have 2 RPC requests coming in and among that 1 will 
be a full region scan. That should still make sense right? Among totalscan Rpc 
requests how much are full region scans? 
   This is only for scans and not for gets. Should we include gets also - that 
is generally with fixed start and stop row correct?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to