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