[infinispan-issues] [JBoss JIRA] (ISPN-11022) Remote exception stack traces are not serialized

Dan Berindei (Jira) issues at jboss.org
Mon Dec 9 08:56:01 EST 2019


     [ https://issues.redhat.com/browse/ISPN-11022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Berindei reassigned ISPN-11022:
-----------------------------------

    Assignee: Dan Berindei


> Remote exception stack traces are not serialized
> ------------------------------------------------
>
>                 Key: ISPN-11022
>                 URL: https://issues.redhat.com/browse/ISPN-11022
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 10.0.0.Final, 10.1.0.Beta1
>            Reporter: Dan Berindei
>            Assignee: Dan Berindei
>            Priority: Major
>             Fix For: 10.1.0.Final
>
>
> Since ISPN-10345, we have an externalizer for all the exceptions we use internally, but it does not serialize the stack trace, so the exception created on the originator has the wrong stack trace:
> {noformat}
> Caused by: org.infinispan.remoting.RemoteException: ISPN000217: Received exception from NonIndexedPojoQueryTest-NodeB-14679, see cause for remote stack trace
>     at org.infinispan.remoting.transport.ResponseCollectors.wrapRemoteException(ResponseCollectors.java:26)
>     at org.infinispan.remoting.transport.ValidSingleResponseCollector.withException(ValidSingleResponseCollector.java:37)
>     at org.infinispan.remoting.transport.ValidSingleResponseCollector.addResponse(ValidSingleResponseCollector.java:21)
>     at org.infinispan.remoting.transport.impl.SingleTargetRequest.addResponse(SingleTargetRequest.java:72)
>     at org.infinispan.remoting.transport.impl.SingleTargetRequest.onResponse(SingleTargetRequest.java:42)
>     ... 24 more
> Caused by: org.infinispan.commons.CacheConfigurationException: Unable to inject dependencies for component class org.infinispan.query.dsl.embedded.impl.IckleFilterAndConverter, path null
>     at org.infinispan.marshall.exts.ThrowableExternalizer.readObject(ThrowableExternalizer.java:177)
>     at org.infinispan.marshall.exts.ThrowableExternalizer.readObject(ThrowableExternalizer.java:42)
>     at org.infinispan.marshall.core.GlobalMarshaller.readWithExternalizer(GlobalMarshaller.java:728)
>     at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:709)
>     at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:358)
>     at org.infinispan.marshall.core.BytesObjectInput.readObject(BytesObjectInput.java:32)
>     at org.infinispan.remoting.responses.ExceptionResponse$Externalizer.readObject(ExceptionResponse.java:49)
>     at org.infinispan.remoting.responses.ExceptionResponse$Externalizer.readObject(ExceptionResponse.java:41)
>     at org.infinispan.marshall.core.GlobalMarshaller.readWithExternalizer(GlobalMarshaller.java:728)
>     at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:709)
>     at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:358)
>     at org.infinispan.marshall.core.GlobalMarshaller.objectFromObjectInput(GlobalMarshaller.java:192)
>     at org.infinispan.marshall.core.GlobalMarshaller.objectFromByteBuffer(GlobalMarshaller.java:221)
>     at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1405)
>     ... 22 more
> Caused by: org.infinispan.commons.CacheException: Expected component not found in registry: org.infinispan.query.remote.impl.ObjectReflectionMatcher
>     at org.infinispan.marshall.exts.ThrowableExternalizer.readObject(ThrowableExternalizer.java:181)
>     at org.infinispan.marshall.exts.ThrowableExternalizer.readObject(ThrowableExternalizer.java:42)
>     at org.infinispan.marshall.core.GlobalMarshaller.readWithExternalizer(GlobalMarshaller.java:728)
>     at org.infinispan.marshall.core.GlobalMarshaller.readNonNullableObject(GlobalMarshaller.java:709)
>     at org.infinispan.marshall.core.GlobalMarshaller.readNullableObject(GlobalMarshaller.java:358)
>     at org.infinispan.marshall.core.BytesObjectInput.readObject(BytesObjectInput.java:32)
>     at org.infinispan.marshall.exts.ThrowableExternalizer.readObject(ThrowableExternalizer.java:176)
>     ... 35 more
> {noformat}
> We should include the stack trace when serializing remote exceptions, and use {{Throwable.setStackTrace()}} to restore it on the originator.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the infinispan-issues mailing list