Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-11022

Remote exception stack traces are not serialized

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • 10.0.0.Final, 10.1.0.Final
    • Core
    • 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.

              Unassigned Unassigned
              dberinde@redhat.com Dan Berindei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: