Guillaume Nodet created CAMEL-23307:
---------------------------------------

             Summary: 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


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)

Reply via email to