[
https://issues.apache.org/jira/browse/CAMEL-23307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Work on CAMEL-23307 started by Guillaume Nodet.
-----------------------------------------------
> Infinispan schema registration retry does not catch HotRodClientException
> wrapping IllegalLifecycleStateException
> -----------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-23307
> URL: https://issues.apache.org/jira/browse/CAMEL-23307
> Project: Camel
> Issue Type: Bug
> Components: camel-infinispan
> Reporter: Guillaume Nodet
> Assignee: Guillaume Nodet
> Priority: Major
> Labels: easyfix
> Fix For: 4.19.0
>
>
> The retry logic added in CAMEL-23255 for Infinispan schema registration only
> catches {{RemoteIllegalLifecycleStateException}}. However, when the
> {{___protobuf_metadata}} cache is not ready, the Hot Rod client may throw a
> generic {{HotRodClientException}} with server error status 0x85 and the
> {{IllegalLifecycleStateException}} only in the message text, not as the
> exception type.
> Observed in CI (JDK 17 build of PR #22523):
> {code}
> org.infinispan.client.hotrod.exceptions.HotRodClientException:
> Request for messageId=5 returned server error (status=0x85):
> org.infinispan.commons.IllegalLifecycleStateException:
> ISPN005066: Cache '___protobuf_metadata' is not ready
> {code}
> The fix should extend the retry logic in
> {{InfinispanRemoteManager.registerSchemaWithRetry()}} to also catch
> {{HotRodClientException}} when its message contains
> {{IllegalLifecycleStateException}} or check the cause chain, in addition to
> the existing {{RemoteIllegalLifecycleStateException}} catch.
> Relevant code: {{InfinispanRemoteManager.java}} line ~160 (the {{catch
> (RemoteIllegalLifecycleStateException e)}} block).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)