[ 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)