infraio commented on a change in pull request #2322:
URL: https://github.com/apache/hbase/pull/2322#discussion_r485272081



##########
File path: 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
##########
@@ -968,6 +968,19 @@ private RegionLocations locateRegionInMeta(TableName 
tableName, byte[] row, bool
     }
   }
 
+  private void takeUserRegionLock() throws IOException {
+    try {
+      long waitTime = connectionConfig.getScannerTimeoutPeriod();
+      if (!userRegionLock.tryLock(waitTime, TimeUnit.MILLISECONDS)) {

Review comment:
       bq. There is one retry loop here which will retry if exception is not 
TNFE or retries are not exhausted.
   Please check the code. The LockTimeoutException will be throwed out and 
terminate the loop. It is not in the try...catch code block.
   bq. IIUC the code, callable.prepare will never throw LockTimeoutException.
   callable.prepare will call locateRegionInMeta inside. So  locateRegionInMeta 
throw LockTimeoutException, then it will throw this exception out. 
   
   Thanks.




----------------------------------------------------------------
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