ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasilisa Sidorova (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-1722) Most examples fail if they are running with JdkMarshaller and in the cluster with different vendors and versions jvm
Date Fri, 16 Oct 2015 18:40:05 GMT

     [ 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  (was: 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); )

> 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
>            Reporter: Vasilisa  Sidorova
>             Fix For: 1.5
>
>
> ENVIRONMENT
> --------------------------------------------
> ibm-java-7 -version: 
> {noformat}
> java version "1.7.0"
> Java(TM) SE Runtime Environment (build pxa6470_27sr3fp10-20150708_01(SR3 FP10))
> IBM J9 VM (build 2.7, JRE 1.7.0 Linux amd64-64 Compressed References 20150630_255653
(JIT enabled, AOT enabled)
> J9VM - R27_Java727_SR3_20150630_2236_B255653
> JIT  - tr.r13.java_20150623_94888.01
> GC   - R27_Java727_SR3_20150630_2236_B255653_CMPRSS
> J9CL - 20150630_255653)
> JCL - 20150628_01 based on Oracle jdk7u85-b15
> {noformat}
> oracle-java-7 -version:
> {noformat}
> {noformat}
> ---------------------------------------------
> 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)

Mime
View raw message