[ 
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)

Reply via email to