You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Kodey Converse (Jira)" <ji...@apache.org> on 2025/06/28 21:53:00 UTC

[jira] [Updated] (HBASE-29433) Client coprocessor service fails after a region merge or split

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

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

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