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 2023/09/14 16:17:00 UTC
[jira] [Updated] (HBASE-28085) Configurably use scanner timeout as rpc timeout for scanner next calls
[ https://issues.apache.org/jira/browse/HBASE-28085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Beaudreault updated HBASE-28085:
--------------------------------------
Assignee: Bryan Beaudreault
Labels: patch-available (was: )
Status: Patch Available (was: Open)
> Configurably use scanner timeout as rpc timeout for scanner next calls
> ----------------------------------------------------------------------
>
> Key: HBASE-28085
> URL: https://issues.apache.org/jira/browse/HBASE-28085
> Project: HBase
> Issue Type: Improvement
> Reporter: Bryan Beaudreault
> Assignee: Bryan Beaudreault
> Priority: Major
> Labels: patch-available
>
> In the AsyncTable implementation, scanner next() calls use "hbase.client.scanner.timeout.period" as the rpc timeout. The reason is described in comments, and makes a lot of sense:
> {code:java}
> // 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. {code}
> The branch-2 HTable implementation still uses the old behavior – the next() call passes the read rpc timeout as the rpc timeout, and uses the scanner timeout period as the operation timeout. This can lead to the above behavior.
> It would be nice to provide users a migration path to AsyncTable's behavior, in the form of a config flag which causes HTable to use "hbase.client.scanner.timeout.period" as rpc timeout for next() calls like AsyncTable does.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)