infraio commented on a change in pull request #2322:
URL: https://github.com/apache/hbase/pull/2322#discussion_r481152014
##########
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:
> the default value for operation timeout is 20 minutes. Do you want
clients to wait for 20 minutes to acquire this lock ?
The problem is not how long the default value. The problem here is to use
the right timeout. And for the default 20min operation timeout, we set it to
20mins because it is easy for passing ITBLL. And in real producetion cluster,
no user will use the default value if it serve for online service.
The guarantee of operation timeout is all table call (exclude scan) should
return or throw exception when timeout. And when need to locate,
locateRegionInMeta is one step of table call. So it should to keep this
guarantee.
----------------------------------------------------------------
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]