Vadim Pakhnushev created IGNITE-26546:
-----------------------------------------

             Summary: Custom exceptions are not marshalled
                 Key: IGNITE-26546
                 URL: https://issues.apache.org/jira/browse/IGNITE-26546
             Project: Ignite
          Issue Type: Bug
          Components: compute ai3
            Reporter: Vadim Pakhnushev


If compute job throws an exception defined in the deployment unit but it's not 
loaded in the app class loader of the node, the execution will not complete and 
the following exception will be logged:

{noformat}
[WARN 
][%icts_n_3344%MessagingService-inbound-Default-0-0][DefaultMessagingService] 
Uncaught exception [thread=IgniteThread 
[name=%icts_n_3344%MessagingService-inbound-Default-0-0]]

org.apache.ignite.lang.IgniteException: Failed to unmarshal message: No local 
class exists for 'org.example.v2.JobException'
        at 
org.apache.ignite.internal.network.DefaultMessagingService.unmarshalMessage(DefaultMessagingService.java:540)
        at 
org.apache.ignite.internal.network.DefaultMessagingService.handleInvokeResponse(DefaultMessagingService.java:530)
        at 
org.apache.ignite.internal.network.DefaultMessagingService.lambda$handleMessageFromNetwork$5(DefaultMessagingService.java:465)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IllegalStateException: No local class exists for 
'org.example.v2.JobException'
        at 
org.apache.ignite.internal.network.serialization.ClassDescriptor.localClass(ClassDescriptor.java:462)
        at 
org.apache.ignite.internal.network.serialization.marshal.StructuredObjectMarshaller.preInstantiateStructuredObject(StructuredObjectMarshaller.java:207)
        at 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller.preInstantiate(DefaultUserObjectMarshaller.java:421)
        at 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller.readIdentifiableInTwoStages(DefaultUserObjectMarshaller.java:398)
        at 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller.readObject(DefaultUserObjectMarshaller.java:363)
        at 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller.unmarshalFromInput(DefaultUserObjectMarshaller.java:319)
        at 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller.unmarshalShared(DefaultUserObjectMarshaller.java:295)
        at 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller.unmarshalShared(DefaultUserObjectMarshaller.java:290)
        at 
org.apache.ignite.internal.network.serialization.marshal.DefaultUserObjectMarshaller.unmarshal(DefaultUserObjectMarshaller.java:279)
        at 
org.apache.ignite.internal.compute.message.JobResultResponseImpl.unmarshal(JobResultResponseImpl.java:131)
        at 
org.apache.ignite.internal.network.message.InvokeResponseImpl.unmarshal(InvokeResponseImpl.java:105)
        at 
org.apache.ignite.internal.network.DefaultMessagingService.unmarshalMessage(DefaultMessagingService.java:538)
        ... 5 more
{noformat}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to