You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Geoffrey Jacoby (Jira)" <ji...@apache.org> on 2021/10/11 17:29:00 UTC

[jira] [Updated] (PHOENIX-6548) Race condition when triggering index rebuilds as regionserver closes

     [ https://issues.apache.org/jira/browse/PHOENIX-6548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Geoffrey Jacoby updated PHOENIX-6548:
-------------------------------------
    Fix Version/s: 5.2.0
                   4.17.0

> Race condition when triggering index rebuilds as regionserver closes
> --------------------------------------------------------------------
>
>                 Key: PHOENIX-6548
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6548
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.14.3, 4.16.1
>            Reporter: Geoffrey Jacoby
>            Assignee: Ankit Jain
>            Priority: Minor
>             Fix For: 4.17.0, 5.2.0
>
>
> On each regionserver our coprocs keep a cache of HConnections with custom settings (such as short timeouts) for talking to other regionservers. They're used when coprocs need to make RPCs, such as during index rebuilds. 
> When a regionserver is closed, these HConnections are closed as well. However, we've seen in our test pipelines a race condition where we may have just given out one of the HConnections to a coprocessor, only to have the connection closed just before it's used. 
> This will produce an IllegalArgumentException from the HBase Table object, which (if the index rebuild was caused by a client Scan) will be thrown back to the client as a DoNotRetryIOException.
> In this case we want the client exception to be a normal retriable IOException, because if they try again after the region comes up again somewhere else, the Scan will likely succeed. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)