apurtell commented on a change in pull request #2574:
URL: https://github.com/apache/hbase/pull/2574#discussion_r514337192
##########
File path:
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
##########
@@ -8730,12 +8868,22 @@ public void startRegionOperation() throws IOException {
@Override
public void startRegionOperation(Operation op) throws IOException {
+ boolean isInterruptableOp = false;
switch (op) {
- case GET: // read operations
+ case GET: // interruptible read operations
case SCAN:
+ isInterruptableOp = true;
Review comment:
There are some checkInterrupts placed inside the scanner inner loops.
Get, Exist, and Scan operations all share this path. I did not put
checkInterrupt into the checkAndXXX operations because these are point ops that
will complete quickly, but could if you feel this represents missing coverage.
@Reidddddd
On the write path there are checkInterrupts placed at points in
doMiniBatchMutation to catch the cases where we are likely to run a long time,
and the row mutation processor also checks for interrupts. Again not every
operation has a check, like Increment or Append, where the unit of work is
small, but we could add them there too if you feel this represents missing
coverage.
My opinion is the long running cases are where the check is definitely worth
it -- scanners on the read side, batch mutations on the write side -- and
others are marginal (and therefore not included).
----------------------------------------------------------------
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]