[
https://issues.apache.org/jira/browse/HBASE-29267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18081622#comment-18081622
]
Hudson commented on HBASE-29267:
--------------------------------
Results for branch branch-2.5
[build #57 on
builds.a.o|https://ci-hbase.apache.org/job/HBase-Integration-Test/job/branch-2.5/57/]:
(/) *{color:green}+1 overall{color}*
----
details (if available):
(/) {color:green}+1 client integration test for 2.10.2 {color}
(/) {color:green}+1 client integration test for 3.2.4 {color}
(/) {color:green}+1 client integration test for 3.3.5 {color}
(/) {color:green}+1 client integration test for 3.3.5 with shaded hadoop
client{color}
(/) {color:green}+1 client integration test for 3.3.6 {color}
(/) {color:green}+1 client integration test for 3.3.6 with shaded hadoop
client{color}
(/) {color:green}+1 client integration test for 3.4.0 {color}
(/) {color:green}+1 client integration test for 3.4.0 with shaded hadoop
client{color}
(/) {color:green}+1 client integration test for 3.4.1 {color}
(/) {color:green}+1 client integration test for 3.4.1 with shaded hadoop
client{color}
(/) {color:green}+1 client integration test for 3.4.2 {color}
(/) {color:green}+1 client integration test for 3.4.2 with shaded hadoop
client{color}
(/) {color:green}+1 client integration test for 3.4.3 {color}
(/) {color:green}+1 client integration test for 3.4.3 with shaded hadoop
client{color}
> Support shaded clients in Exception deserialization by prefixing shaded
> package in IPCUtil
> ------------------------------------------------------------------------------------------
>
> Key: HBASE-29267
> URL: https://issues.apache.org/jira/browse/HBASE-29267
> Project: HBase
> Issue Type: New Feature
> Reporter: Minwoo Kang
> Assignee: Minwoo Kang
> Priority: Minor
> Labels: pull-request-available
> Fix For: 2.7.0, 3.0.0-beta-2, 2.5.15, 2.6.6
>
>
> Currently, when an HBase server throws an exception, it sends the class name
> of the exception to the client. The client then attempts to deserialize and
> instantiate the exception class using this name.
> However, in the case of shaded clients, the original package names of
> server-side exceptions may not match those available on the client side. As a
> result, shaded clients fail to locate and load the corresponding exception
> class. When this happens, the client falls back to treating the error as a
> generic DoNotRetryIOException, which prevents proper handling and disables
> retry logic—even for retryable exceptions.
> This issue becomes particularly visible during RegionServer rolling restarts.
> If a RegionServer throws an exception, the shaded client misinterprets the
> error and does not retry the request.
> To address this, we propose enhancing the logic in {{IPCUtil}} to detect when
> the client is shaded. If so, the client should attempt to prefix the received
> exception class name with the shaded package prefix when trying to load the
> class. This would allow shaded clients to correctly deserialize exceptions
> and apply proper retry behavior.
> This change would improve compatibility for shaded HBase clients, especially
> in environments that require binary shading for dependency isolation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)