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)