[ 
https://issues.apache.org/jira/browse/IGNITE-7382?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maxim Muzafarov updated IGNITE-7382:
------------------------------------
    Fix Version/s: 2.8

> Unknown Pair exception if work directory is removed after cluster shutdown
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-7382
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7382
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.3
>         Environment: RHEL 7.4
> Docker
>            Reporter: Sunny Chan
>            Priority: Major
>             Fix For: 2.8
>
>
> To reproduce, try this:
> 1) Start a server node
> 2) Start a node in client mode, connect to server node
> 3) shutdown the server node and _leave the client node running_
> 4) remove Ignite work directory for the shutdown server node
> 5) Client node reconnects automatically, send a service call request
> 6) Exception occurs on Server, unable to deserialize 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2
> {noformat}
> 2018-01-05 00:00:26.027 processors.job.GridJobWorker [svc-#273%clog%] ERROR - 
> Failed to initialize job 
> [jobId=839fef0c061-ad77f485-d677-4694-8d0c-e780f16be9b7, 
> ses=GridJobSessionImpl [ses=GridTaskSessionImpl [taskName=o.a.i.i.processors.
> service.GridServiceProxy$ServiceProxyCallable, dep=LocalDeployment 
> [super=GridDeployment [ts=1515076515280, depMode=SHARED, 
> clsLdr=sun.misc.Launcher$AppClassLoader@764c12b6, 
> clsLdrId=3e4f891c061-5235b03b-87c3-4c29-a576-1b44936b0c11, user
> Ver=0, loc=true, sampleClsName=java.lang.String, pendingUndeploy=false, 
> undeployed=false, usage=0]], 
> taskClsName=o.a.i.i.processors.service.GridServiceProxy$ServiceProxyCallable, 
> sesId=739fef0c061-ad77f485-d677-4694-8d0c-e780f16be9b7, st
> artTime=1515078026015, endTime=1515078036021, 
> taskNodeId=ad77f485-d677-4694-8d0c-e780f16be9b7, 
> clsLdr=sun.misc.Launcher$AppClassLoader@764c12b6, closed=false, cpSpi=null, 
> failSpi=null, loadSpi=null, usage=1, fullSup=false, internal=false
> , subjId=ad77f485-d677-4694-8d0c-e780f16be9b7, mapFut=IgniteFuture 
> [orig=GridFutureAdapter [ignoreInterrupts=false, state=INIT, res=null, 
> hash=360535376]], execName=null], 
> jobId=839fef0c061-ad77f485-d677-4694-8d0c-e780f16be9b7]]
> org.apache.ignite.IgniteCheckedException: Failed to deserialize object 
> [typeName=org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2]
>         at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9859) 
> [logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:438)
>  [logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1109)
>  [logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1913)
>  [logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)
>  [logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183)
>  [logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
>  [logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090)
>  [logic.jar:1.1.0]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [?:1.8.0_121]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [?:1.8.0_121]
>         at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
> Caused by: org.apache.ignite.binary.BinaryObjectException: Failed to 
> deserialize object 
> [typeName=org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2]
>         at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:874)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9853) 
> [logic.jar:1.1.0]
>         ... 10 more
> Caused by: org.apache.ignite.binary.BinaryObjectException: Failed to 
> unmarshal object with optimized marshaller
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1786)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1962)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1799)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readObject(BinaryReaderExImpl.java:1329)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readBinary(GridClosureProcessor.java:1872)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:833)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9853) 
> ~[logic.jar:1.1.0]
>         ... 10 more
> Caused by: org.apache.ignite.IgniteCheckedException: Failed to find class 
> with given class loader for unmarshalling (make sure same versions of all 
> classes are available on all nodes or enable peer-class-loading) 
> [clsLdr=sun.misc.Launche
> r$AppClassLoader@764c12b6, cls=Unknown pair [platformId=0, typeId=873412491]]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:232)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1783)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1962)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1799)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readObject(BinaryReaderExImpl.java:1329)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readBinary(GridClosureProcessor.java:1872)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:833)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9853) 
> ~[logic.jar:1.1.0]
>         ... 10 more
> Caused by: java.lang.ClassNotFoundException: Unknown pair [platformId=0, 
> typeId=873412491]
>         at 
> org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:376)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:326)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:268)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readClass(OptimizedObjectInputStream.java:372)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:323)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:199)
>  ~[logic.jar:1.1.0]
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:416) 
> ~[?:1.8.0_121]
>         at 
> org.apache.ignite.internal.util.IgniteUtils.readClassArray(IgniteUtils.java:1702)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.processors.service.GridServiceProxy$ServiceProxyCallable.readExternal(GridServiceProxy.java:438)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:545)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:917)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:346)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:199)
>  ~[logic.jar:1.1.0]
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:416) 
> ~[?:1.8.0_121]
>         at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:227)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1783)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1962)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1799)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readObject(BinaryReaderExImpl.java:1329)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readBinary(GridClosureProcessor.java:1872)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:833)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
>  ~[logic.jar:1.1.0]
>         at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9853) 
> ~[logic.jar:1.1.0]
>         ... 10 more
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to