Geoffrey Jacoby created PHOENIX-6548:
----------------------------------------

             Summary: 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.16.1, 4.14.3
            Reporter: Geoffrey Jacoby


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)

Reply via email to