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

Vasilisa  Sidorova updated IGNITE-1722:
---------------------------------------
    Environment: Ubuntu 14.04, community 1.5.0 build #319; java version 
"1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java 
HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode);   (was: Ubuntu 
14.04, community 1.5.0 build #319)

> Most examples fail if they are running with JdkMarshaller and in the cluster 
> with different vendors and versions jvm
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-1722
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1722
>             Project: Ignite
>          Issue Type: Bug
>          Components: general
>    Affects Versions: 1.5
>         Environment: Ubuntu 14.04, community 1.5.0 build #319; java version 
> "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java 
> HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode); 
>            Reporter: Vasilisa  Sidorova
>             Fix For: 1.5
>
>
> ---------------------------------------------
> DESCRIPTION
> ---------------------------------------------
> When default optimizedMarshaller is changed into JdkMarshaller in 
> example-ignite.xml and cluster with different vendors and versions jvm is 
> started then most of Compute examples (ClusterGroupExample, 
> CreditRiskExample, ComputeAsyncExample, ComputeBroadcastExample, 
> ComputeCallableExample, ComputeClosureExample, ComputeReducerExample, 
> ComputeRunnableExample), CacheAffinityExample fail during running in this 
> cluster
> ---------------------------------------------
> STEPS FOR REPRODUCE
> ---------------------------------------------
> # Build examples project in IDE (for example, for the ibm-java-7 jvm)
> # In the example-ignite.xml change property from:
> {noformat}
> <property name="marshaller">
>             <bean 
> class="org.apache.ignite.marshaller.optimized.OptimizedMarshaller"> -->
>                 <!-- Set to false to allow non-serializable objects in 
> examples, default is true. -->
>                 <!-- <property name="requireSerializable" value="false"/>
>             </bean>
>         </property>
> {noformat}
> to
> {noformat}
> <property name="marshaller">
>         <bean class="org.apache.ignite.marshaller.jdk.JdkMarshaller"/>
>     </property>
> {noformat}
> # Run ExampleNodeStartup on the ibm-java-7 jvm 
> # In the same cluster run second ExampleNodeStartup (or corresponding node 
> from command line) on the, for example, oracle-java-7 jvm
> # For example, run CreditRiskExample on the ibm-java-7 jvm
> ---------------------------------------------
> ACTUAL RESULT
> ---------------------------------------------
> Example is failed with exception:
> {noformat}
> [18:32:50,486][ERROR][ignite-#19%sys-null%][GridTaskWorker] Failed to obtain 
> remote job result policy for result from ComputeTask.result(..) method (will 
> fail the whole task): GridJobResultImpl [job=C2 [], sib=GridJobSiblingImpl 
> [sesId=4e238417051-f0bdd2e0-2e1b-40c9-b395-5adeea3abb80, 
> jobId=6e238417051-b4bcdc8a-d015-4add-a605-63dff152b030, 
> nodeId=b4bcdc8a-d015-4add-a605-63dff152b030, isJobDone=false], 
> jobCtx=GridJobContextImpl 
> [jobId=6e238417051-b4bcdc8a-d015-4add-a605-63dff152b030, timeoutObj=null, 
> attrs={}], node=TcpDiscoveryNode [id=b4bcdc8a-d015-4add-a605-63dff152b030, 
> addrs=[127.0.0.1], sockAddrs=[/127.0.0.1:47501], discPort=47501, order=4, 
> intOrder=3, lastExchangeTime=1445009569431, loc=false, 
> ver=1.5.0#20151012-sha1:6844370d, isClient=false], ex=class 
> o.a.i.IgniteException: Failed to deserialize object with given class loader: 
> sun.misc.Launcher$AppClassLoader@501d5ebc, 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.closure.GridClosureProcessor$T3.result(GridClosureProcessor.java:1246)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskWorker$3.apply(GridTaskWorker.java:903)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskWorker$3.apply(GridTaskWorker.java:896)
>       at 
> org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6403)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:896)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:792)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:995)
>       at 
> org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1219)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
>       at java.lang.Thread.run(Thread.java:809)
> Caused by: class org.apache.ignite.IgniteException: Failed to deserialize 
> object with given class loader: sun.misc.Launcher$AppClassLoader@501d5ebc
>       at 
> org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:424)
>       at 
> org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1094)
>       at 
> org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1776)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> deserialize object with given class loader: 
> sun.misc.Launcher$AppClassLoader@501d5ebc
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105)
>       at 
> org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68)
>       at 
> org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:409)
>       ... 8 more
> Caused by: java.io.InvalidClassException: 
> org.apache.ignite.examples.computegrid.montecarlo.CreditRiskExample$2; local 
> class incompatible: stream classdesc serialVersionUID = 1895801581034216497, 
> local class serialVersionUID = 9086725335444863242
>       at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)
>       at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
>       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>       at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readExternal(GridClosureProcessor.java:1808)
>       at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:102)
>       ... 10 more
> >>> Finished calculating portfolio risk [risk=499581.9554895319, time=2728ms]
> [18:32:53] Ignite node stopped OK [uptime=00:00:02:841]
> Exception in thread "main" class org.apache.ignite.IgniteException: Failed to 
> deserialize object with given class loader: 
> sun.misc.Launcher$AppClassLoader@501d5ebc
>       at 
> org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881)
>       at 
> org.apache.ignite.internal.IgniteComputeImpl.call(IgniteComputeImpl.java:408)
>       at 
> org.apache.ignite.examples.computegrid.montecarlo.CreditRiskExample.main(CreditRiskExample.java:85)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
>       at java.lang.reflect.Method.invoke(Method.java:620)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> deserialize object with given class loader: 
> sun.misc.Launcher$AppClassLoader@501d5ebc
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105)
>       at 
> org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68)
>       at 
> org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:409)
>       at 
> org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1094)
>       at 
> org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1776)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.InvalidClassException: 
> org.apache.ignite.examples.computegrid.montecarlo.CreditRiskExample$2; local 
> class incompatible: stream classdesc serialVersionUID = 1895801581034216497, 
> local class serialVersionUID = 9086725335444863242
>       at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)
>       at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
>       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>       at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readExternal(GridClosureProcessor.java:1808)
>       at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:102)
>       ... 10 more
> {noformat}
> There is exception in the remote (second) node console:
> {noformat}
> [18:32:50,466][ERROR][ignite-#7%pub-null%][GridJobWorker] Failed to 
> initialize job [jobId=6e238417051-b4bcdc8a-d015-4add-a605-63dff152b030, 
> ses=GridJobSessionImpl [ses=GridTaskSessionImpl 
> [taskName=o.a.i.examples.computegrid.montecarlo.CreditRiskExample$2, 
> dep=GridDeployment [ts=1445009556695, depMode=SHARED, 
> clsLdr=sun.misc.Launcher$AppClassLoader@501d5ebc, 
> clsLdrId=35ff7417051-b4bcdc8a-d015-4add-a605-63dff152b030, userVer=0, 
> loc=true, sampleClsName=java.util.HashMap, pendingUndeploy=false, 
> undeployed=false, usage=1], 
> taskClsName=o.a.i.examples.computegrid.montecarlo.CreditRiskExample$2, 
> sesId=4e238417051-f0bdd2e0-2e1b-40c9-b395-5adeea3abb80, 
> startTime=1445009570408, endTime=9223372036854775807, 
> taskNodeId=f0bdd2e0-2e1b-40c9-b395-5adeea3abb80, 
> clsLdr=sun.misc.Launcher$AppClassLoader@501d5ebc, closed=false, cpSpi=null, 
> failSpi=null, loadSpi=null, usage=1, fullSup=false, 
> subjId=f0bdd2e0-2e1b-40c9-b395-5adeea3abb80, mapFut=IgniteFuture 
> [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1445009570454, 
> endTime=0, ignoreInterrupts=false, lsnr=null, state=INIT]]], 
> jobId=6e238417051-b4bcdc8a-d015-4add-a605-63dff152b030]]
> class org.apache.ignite.IgniteCheckedException: Failed to deserialize object 
> with given class loader: sun.misc.Launcher$AppClassLoader@501d5ebc
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105)
>       at 
> org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68)
>       at 
> org.apache.ignite.internal.processors.job.GridJobWorker.initialize(GridJobWorker.java:409)
>       at 
> org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1094)
>       at 
> org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1776)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.InvalidClassException: 
> org.apache.ignite.examples.computegrid.montecarlo.CreditRiskExample$2; local 
> class incompatible: stream classdesc serialVersionUID = 1895801581034216497, 
> local class serialVersionUID = 9086725335444863242
>       at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617)
>       at 
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
>       at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>       at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.readExternal(GridClosureProcessor.java:1808)
>       at 
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1837)
>       at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1796)
>       at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>       at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>       at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:102)
>       ... 10 more
> {noformat}
> ---------------------------------------------
> EXPECTED RESULT
> ---------------------------------------------
> Example is passed without any exceptions
> --------------------------------------------
> ADDITIONAL INFO
> --------------------------------------------
> # Isn't reproducible for optimized and portable marshallers
> # Isn't reproducible for cluster were all jvm are identical
> # Reproducible, at least, for clusters with next list of jvm: 
> ## oracle-java-7 + ibm-java-7
> ## oracle-java-7 + openjdk-7
> ## oracle-java-7 + oracle-java-8
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to