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/12/01 15:43:00 UTC

[jira] [Commented] (HBASE-27490) Locating regions for all actions of batch requests can exceed operation timeout

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

Bryan Beaudreault commented on HBASE-27490:
-------------------------------------------

Starting work on this now, since HBASE-27487 has been merged.

As I start to dig in, I realize that AsyncTable actually may not have an issue here. It does process the locations sequentially, but does so through all async operations. So any expensive IO should be subject to the operation timeout. I'm going to try to write a test to confirm that, but otherwise will be focusing on the sync Table (i.e. AsyncProcess)

> Locating regions for all actions of batch requests can exceed operation timeout
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-27490
>                 URL: https://issues.apache.org/jira/browse/HBASE-27490
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Bryan Beaudreault
>            Assignee: Bryan Beaudreault
>            Priority: Major
>
> This affects both AsyncTable and branch-2's Table. It's a follow-on from HBASE-27487.
> In both cases, for a batch request, the first thing that must be done is resolve region locations for all actions in a batch. This is done in sequence for all actions, and the timeout is not checked after each action. If meta is slow or a sufficiently large batch is sent, the time to sequentially resolve all actions may exceed the operation timeout.
> Currently, the code will eventually check the operation timeout after all locations have been resolved and before submitting the MultiRequests. We should check the timeout before each call to locate a region, and abort early if it's exceeded.



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