After deploying an ignite service with my service implementation jar, an
annoying unmartial or deserialize error occurs.

My service interface is as follows.

  ResultTitle getTitle(String url, TitleCandidates titleCandidates);

If i change the class name of a service parameter (TitleCandidates ->
TitleCandidates_V1), then the unmarshal error disappears and everything runs
ok. But, I could not always change the class name when the jars is changed.

When the service function called via service proxy, the error message as
follows.

Failed to obtain remote job result policy for result from
ComputeTask.result(..) method (will fail the whole task): GridJobResultImpl
[job=C2 [c=ServiceProxyCallable [mtdName=getTitle,
svcName=TitleMakerService, ignite=null]], sib=GridJobSiblingImpl
[sesId=0f3f0699261-2df0837d-d5d6-4d45-ae32-16422c1d9704,
jobId=1f3f0699261-2df0837d-d5d6-4d45-ae32-16422c1d9704,
nodeId=10cdcacf-7768-41af-b277-df113d648e56, isJobDone=false],
jobCtx=GridJobContextImpl
[jobId=1f3f0699261-2df0837d-d5d6-4d45-ae32-16422c1d9704, timeoutObj=null,
attrs={}], node=TcpDiscoveryNode [id=10cdcacf-7768-41af-b277-df113d648e56,
addrs=[10.116.25.122, 10.244.8.0, 127.0.0.1, 172.17.0.1, 192.168.133.0],
sockAddrs=[/10.244.8.0:47500, /10.116.25.122:47500, /172.17.0.1:47500,
/192.168.133.0:47500, /127.0.0.1:47500], discPort=47500, order=5,
intOrder=5, lastExchangeTime=1522991697421, loc=false,
ver=2.3.0#20171220-sha1:8431829c, isClient=false], ex=class
o.a.i.IgniteException: Failed to deserialize object
[typeName=o.a.i.i.processors.closure.GridClosureProcessor$C2], hasRes=true,
isCancelled=false, isOccupied=true]
class org.apache.ignite.IgniteException: Remote job threw user exception
(override or implement ComputeTask.result(..) method if you would like to
have automatic failover for this exception).
        at
org.apache.ignite.compute.ComputeTaskAdapter.result(ComputeTaskAdapter.java:101)
        at
org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1047)
        at
org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1040)
        at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6663)
        at
org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:1040)
        at
org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:858)
        at
org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1066)
        at
org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1301)
        at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)
        at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183)
        at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
        at
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: class org.apache.ignite.IgniteException: Failed to deserialize
object
[typeName=org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2]
        at
org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:457)
        at
org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1109)
        at
org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1913)
        ... 7 more
Caused by: class 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:9801)
        at
org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:438)
        ... 9 more
Caused by: class 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)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
        at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
        at
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
        at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
        at
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9795)
        ... 10 more
Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to
unmarshal object with optimized marshaller
        at
org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1786)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1962)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
        at
org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1799)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.readObject(BinaryReaderExImpl.java:1329)
        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readBinary(GridClosureProcessor.java:1872)
        at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:833)
        ... 16 more
Caused by: class 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.Launcher$AppClassLoader@764c12b6, cls=Unknown pair
[platformId=0, typeId=-1659494821]]
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:232)
        at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94)
        at
org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1783)
        ... 22 more
Caused by: java.lang.ClassNotFoundException: Unknown pair [platformId=0,
typeId=-1659494821]
        at
org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:376)
        at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:326)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:268)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readClass(OptimizedObjectInputStream.java:372)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:323)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:199)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
        at
org.apache.ignite.internal.util.IgniteUtils.readClassArray(IgniteUtils.java:1702)
        at
org.apache.ignite.internal.processors.service.GridServiceProxy$ServiceProxyCallable.readExternal(GridServiceProxy.java:438)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:545)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:917)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:346)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:199)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:227)
        ... 24 more

class 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)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
        at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:310)
        at
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:99)
        at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:82)
        at
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:9795)
        at
org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:438)
        at
org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1109)
        at
org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1913)
        at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1555)
        at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1183)
        at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
        at
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1090)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to
unmarshal object with optimized marshaller
        at
org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1786)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1962)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
        at
org.apache.ignite.internal.binary.BinaryUtils.doReadObject(BinaryUtils.java:1799)
        at
org.apache.ignite.internal.binary.BinaryReaderExImpl.readObject(BinaryReaderExImpl.java:1329)
        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readBinary(GridClosureProcessor.java:1872)
        at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:833)
        ... 16 more
Caused by: class 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.Launcher$AppClassLoader@764c12b6, cls=Unknown pair
[platformId=0, typeId=-1659494821]]
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:232)
        at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94)
        at
org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1783)
        ... 22 more
Caused by: java.lang.ClassNotFoundException: Unknown pair [platformId=0,
typeId=-1659494821]
        at
org.apache.ignite.internal.MarshallerContextImpl.getClassName(MarshallerContextImpl.java:376)
        at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:326)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:268)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readClass(OptimizedObjectInputStream.java:372)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:323)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:199)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
        at
org.apache.ignite.internal.util.IgniteUtils.readClassArray(IgniteUtils.java:1702)
        at
org.apache.ignite.internal.processors.service.GridServiceProxy$ServiceProxyCallable.readExternal(GridServiceProxy.java:438)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:545)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:917)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:346)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:199)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
        at
org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:227)
        ... 24 more

And, my ignite service xml is as follows.

<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd";>
    <bean id="grid.cfg"
class="org.apache.ignite.configuration.IgniteConfiguration">
        
        <property name="serviceThreadPoolSize" value="80"/>

        

        
        <property name="cacheConfiguration">
            <list>
                
                <bean
class="org.apache.ignite.configuration.CacheConfiguration">
                    <property name="name"
value="valid_dup_ratio_cache_name"/> 
                    <property name="atomicityMode" value="ATOMIC"/>
                    <property name="cacheMode" value="REPLICATED"/>
                    <property name="indexedTypes">
                        <list>
                            <value>java.lang.String</value>
                            <value>java.util.LinkedList</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>

        
        <property name="discoverySpi">
            <bean
class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
                <property name="clientReconnectDisabled" value="false"/>
                <property name="networkTimeout" value="120000"/>
                <property name="ipFinder">
                    
                    <bean
class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                        <property name="addresses">
                            <list>
                                
                                ...
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </property>

        <property name="communicationSpi">
            <bean
class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
                <property name="messageQueueLimit" value="1024"/>
            </bean>
        </property>

        
        <property name="dataStorageConfiguration">
            <bean
class="org.apache.ignite.configuration.DataStorageConfiguration">
                <property name="writeThrottlingEnabled" value="true"/> 

                <property name="defaultDataRegionConfiguration">
                    <bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
                        <property name="persistenceEnabled" value="true"/> 
                        <property name="name" value="Default_Region"/>
                        <property name="maxSize" value="#{75L * 1024 * 1024
* 1024}"/> 
                        <property name="checkpointPageBufferSize"
value="#{1024L * 1024 * 1024}"/> 
                        <property name="metricsEnabled" value="true"/>
                    </bean>
                </property>
                <property name="storagePath"
value="/naver/ignite_storage/20180330/storage"/>
                <property name="walPath"
value="/naver/ignite_storage/20180330/wal"/>
                <property name="walArchivePath"
value="/naver/ignite_storage/20180330/walArchive"/>
                <property name="metricsEnabled" value="true"/>
            </bean>
        </property>

        
        <property name="binaryConfiguration">
            <bean
class="org.apache.ignite.configuration.BinaryConfiguration">
                <property name="typeConfigurations">
                    <list>
                        <bean
class="org.apache.ignite.binary.BinaryTypeConfiguration">
                            
                            <property name="typeName"
value="com.naver.kweb.serp.title.ignite.service.TitleMakerServiceImpl"/>
                        </bean>
                    </list>
                </property>
            </bean>
        </property>
    </bean>
</beans>

And, how can I know the problematic class from the error message "Unknown
pair [platformId=0, typeId=-1659494821]"? What is the "typeId" here?




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to