-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
10.0.0.Final, 10.1.0.Final
-
None
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:
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
We should include the stack trace when serializing remote exceptions, and use Throwable.setStackTrace() to restore it on the originator.
- relates to
-
ISPN-12866 Generic exception externalizer can throw CNFEs when unmarshalling exception response
- New
-
ISPN-13467 ThrowableExternalizer cannot handle NullPointerException with cause
- To Do
-
ISPN-11225 Server should send stack trace to client
- New