You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Bryan Beaudreault (Jira)" <ji...@apache.org> on 2022/07/07 16:58:00 UTC

[jira] [Comment Edited] (HBASE-27142) Scanner timeout should take precedence over rpc timeout

    [ https://issues.apache.org/jira/browse/HBASE-27142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17563879#comment-17563879 ] 

Bryan Beaudreault edited comment on HBASE-27142 at 7/7/22 4:57 PM:
-------------------------------------------------------------------

[~zhangduo] I was reminding myself of our compatibility guidelines. I think this change would count as "Operational Compatibility", which would be allowed to change in a minor release. Also given how infrequently we have major releases, I think it makes sense to allow a change like this in minor releases. 

Just wanted to check one more time if you'd be ok with allowing this in 2.5.0, given the above. It will be released shortly, and I think it'd be a good win.


was (Author: bbeaudreault):
[~zhangduo] I was reminding myself of our compatibility guidelines. I think this change would count as "Operational Compatibility", which would be allowed to change in a minor release. Also given how infrequently we have major releases, I think it makes sense to allow a change like this in minor releases. 

Just wanted to check one more time if you'd be ok with allowing this in 2.5.0, given it will be released shortly. I think it'd be a good win.

> Scanner timeout should take precedence over rpc timeout
> -------------------------------------------------------
>
>                 Key: HBASE-27142
>                 URL: https://issues.apache.org/jira/browse/HBASE-27142
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.4.12
>            Reporter: Bryan Beaudreault
>            Priority: Major
>
> In the new async client (see AsyncScanSingleRegionRpcRetryingCaller.call()), we ignore hbase.rpc.timeout for scanner next calls. The reason is:
> {quote}// As we have a call sequence for scan, it is useless to have a different rpc timeout which is
> // less than the scan timeout. If the server does not respond in time(usually this will not
> // happen as we have heartbeat now), we will get an OutOfOrderScannerNextException when
> // resending the next request and the only way to fix this is to close the scanner and open a
> // new one.
> {quote}
> In branch-2's blocking client (i.e. ClientScanner/ScannerCallable) we make use of RpcRetryingCallerImpl, which calculates the timeout for each call based on the smaller of the two: remaining operation timeout or configured rpc timeout. For scans, the operation timeout is dictated by hbase.client.scanner.timeout.period, which should take precedence over the configured rpc timeout per the above comment.
> We can fix this by using RpcRetryingCallerFactory.newCaller(int) in ClientScanner, passing the scanner timeout period in as the argument. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)