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

Kodey Converse updated HBASE-29433:
-----------------------------------
    Summary: AsyncTable coprocessor service fails after a region merge or split 
 (was: Client coprocessor service fails after a region merge or split)

> AsyncTable coprocessor service fails after a region merge or split
> ------------------------------------------------------------------
>
>                 Key: HBASE-29433
>                 URL: https://issues.apache.org/jira/browse/HBASE-29433
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>            Reporter: Kodey Converse
>            Priority: Minor
>
> While trying to roll out the async client, we noticed an edge case with the 
> async client that will cause the {{coprocessorService()}} methods to fail 
> under the following conditions
>  * The call from the client must be on a range of rows/regions; calls that 
> specify a row are unaffected
>  * The client must have the affected region in it's meta cache at the time of 
> the request
>  * The affected region must have been merged or split, and must be out of 
> sync with the client's meta cache
> Under these circumstances, the coprocessor callback will report an error for 
> the region
> org.apache.hadoop.hbase.DoNotRetryIOException: Region name is changed, 
> expected ...3ee39f2dbd630db8c2c1e5055aeb3a2a., actual 
> ...d8603e8533ec8e37caf6f19fda9949c2.
> This is problematic for two reasons
>  * It is not backwards compatible with {{{}HTable{}}}, which will not throw 
> an error in either the merge or split case, but will return potentially 
> incorrect results for the split case
>  * It make it difficult to use the feature, along with features built on top 
> of it (such as {{{}AsyncAggregationClient{}}}, which is what we were using 
> when we discovered it)



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

Reply via email to