[
https://issues.apache.org/jira/browse/HBASE-28085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryan Beaudreault updated HBASE-28085:
--------------------------------------
Fix Version/s: 2.6.0
Resolution: Fixed
Status: Resolved (was: Patch Available)
> 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
> Fix For: 2.6.0
>
>
> 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)