[ https://issues.apache.org/jira/browse/IGNITE-1695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Goncharuk reassigned IGNITE-1695: ---------------------------------------- Assignee: Alexey Goncharuk (was: Denis Magda) > PortableMarshaller get "Can not set final java.util.Queue field > org.apache.ignite.examples.computegrid" exception when > ComputeContinuousMapperExample is running > ---------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: IGNITE-1695 > URL: https://issues.apache.org/jira/browse/IGNITE-1695 > Project: Ignite > Issue Type: Bug > Components: general > Affects Versions: 1.5 > Environment: Ubuntu 14.04, community 1.5.0 build #319 > Reporter: Vasilisa Sidorova > Assignee: Alexey Goncharuk > Fix For: 1.6 > > > --------------------------------------------- > DESCRIPTION > --------------------------------------------- > When default optimizedMarshaller is changed into portableMarshaller in > example-ignite.xml then ComputeContinuousMapperExample is failed with this > config due to incorrect work of portableMarshaller > --------------------------------------------- > STEPS FOR REPRODUCE > --------------------------------------------- > 1. Build examples project in IDE > 2.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.internal.portable.api.PortableMarshaller"/> > </property> > {noformat} > 3. Run ExampleNodeStartup > 4. Run ComputeContiuousMapperExample > --------------------------------------------- > ACTUAL RESULT > --------------------------------------------- > Example is failed with exception: > {noformat} > [16:55:22,620][ERROR][ignite-#28%sys-null%][GridTaskWorker] Failed to obtain > remote job result policy for result from ComputeTask.result(..) method (will > fail the whole task): GridJobResultImpl > [job=o.a.i.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask$1@95be237c, > sib=GridJobSiblingImpl > [sesId=b5798cb6051-006ac327-4ba6-44fe-9688-469189c8cb18, > jobId=46798cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6, > nodeId=fca6518a-6843-4b3a-97cd-d5010a71e5c6, isJobDone=false], > jobCtx=GridJobContextImpl > [jobId=46798cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6, timeoutObj=null, > attrs={}], node=TcpDiscoveryNode [id=fca6518a-6843-4b3a-97cd-d5010a71e5c6, > addrs=[127.0.0.1], sockAddrs=[/127.0.0.1:47500], discPort=47500, order=1, > intOrder=1, lastExchangeTime=1444917320434, loc=false, > ver=1.5.0#20151012-sha1:6844370d, isClient=false], ex=class > o.a.i.compute.ComputeUserUndeclaredException: Failed to execute job due to > unexpected runtime exception > [jobId=46798cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6, > ses=GridJobSessionImpl [ses=GridTaskSessionImpl > [taskName=o.a.i.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask, > dep=GridDeployment [ts=1444917321187, depMode=SHARED, > clsLdr=sun.misc.Launcher$AppClassLoader@9f78b40f, > clsLdrId=12958cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6, userVer=0, > loc=true, > sampleClsName=o.a.i.i.processors.cache.distributed.dht.preloader.GridDhtPartitionMap, > pendingUndeploy=false, undeployed=false, usage=1], > taskClsName=o.a.i.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask, > sesId=b5798cb6051-006ac327-4ba6-44fe-9688-469189c8cb18, > startTime=1444917321444, endTime=9223372036854775807, > taskNodeId=006ac327-4ba6-44fe-9688-469189c8cb18, > clsLdr=sun.misc.Launcher$AppClassLoader@9f78b40f, closed=false, cpSpi=null, > failSpi=null, loadSpi=null, usage=1, fullSup=false, > subjId=006ac327-4ba6-44fe-9688-469189c8cb18, mapFut=IgniteFuture > [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1444917322581, > endTime=0, ignoreInterrupts=false, lsnr=null, state=INIT]]], > jobId=46798cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6]], 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.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask.result(ComputeContinuousMapperExample.java:121) > 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.compute.ComputeUserUndeclaredException: > Failed to execute job due to unexpected runtime exception > [jobId=46798cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6, > ses=GridJobSessionImpl [ses=GridTaskSessionImpl > [taskName=org.apache.ignite.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask, > dep=GridDeployment [ts=1444917321187, depMode=SHARED, > clsLdr=sun.misc.Launcher$AppClassLoader@9f78b40f, > clsLdrId=12958cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6, userVer=0, > loc=true, > sampleClsName=org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap, > pendingUndeploy=false, undeployed=false, usage=1], > taskClsName=org.apache.ignite.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask, > sesId=b5798cb6051-006ac327-4ba6-44fe-9688-469189c8cb18, > startTime=1444917321444, endTime=9223372036854775807, > taskNodeId=006ac327-4ba6-44fe-9688-469189c8cb18, > clsLdr=sun.misc.Launcher$AppClassLoader@9f78b40f, closed=false, cpSpi=null, > failSpi=null, loadSpi=null, usage=1, fullSup=false, > subjId=006ac327-4ba6-44fe-9688-469189c8cb18, mapFut=IgniteFuture > [orig=GridFutureAdapter [resFlag=0, res=null, startTime=1444917322581, > endTime=0, ignoreInterrupts=false, lsnr=null, state=INIT]]], > jobId=46798cb6051-fca6518a-6843-4b3a-97cd-d5010a71e5c6]] > Caused by: java.lang.IllegalArgumentException: Can not set final > java.util.Queue field > org.apache.ignite.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask.words > to java.util.ArrayList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:177) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:181) > at > sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.set(UnsafeQualifiedObjectFieldAccessorImpl.java:96) > at java.lang.reflect.Field.set(Field.java:754) > at > org.apache.ignite.internal.portable.PortableClassDescriptor$FieldInfo.read(PortableClassDescriptor.java:1230) > at > org.apache.ignite.internal.portable.PortableClassDescriptor.read(PortableClassDescriptor.java:614) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.deserialize(PortableReaderExImpl.java:2160) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.doReadObject(PortableReaderExImpl.java:2102) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.readObject(PortableReaderExImpl.java:572) > at > org.apache.ignite.internal.portable.PortableClassDescriptor$FieldInfo.read(PortableClassDescriptor.java:1215) > at > org.apache.ignite.internal.portable.PortableClassDescriptor.read(PortableClassDescriptor.java:614) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.deserialize(PortableReaderExImpl.java:2160) > at > org.apache.ignite.internal.portable.GridPortableMarshaller.deserialize(GridPortableMarshaller.java:274) > at > org.apache.ignite.internal.portable.api.PortableMarshaller.unmarshal(PortableMarshaller.java:328) > 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:1157) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) > at java.lang.Thread.run(Thread.java:809) > [16:55:22] Ignite node stopped OK [uptime=00:00:01:242] > Exception in thread "main" class org.apache.ignite.IgniteException: Can not > set final java.util.Queue field > org.apache.ignite.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask.words > to java.util.ArrayList > at > org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881) > at > org.apache.ignite.internal.IgniteComputeImpl.execute(IgniteComputeImpl.java:174) > at > org.apache.ignite.examples.computegrid.ComputeContinuousMapperExample.main(ComputeContinuousMapperExample.java:72) > 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: Can not set final > java.util.Queue field > org.apache.ignite.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask.words > to java.util.ArrayList > at > org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:6979) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:166) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:115) > at > org.apache.ignite.internal.AsyncSupportAdapter.saveOrGet(AsyncSupportAdapter.java:112) > at > org.apache.ignite.internal.IgniteComputeImpl.execute(IgniteComputeImpl.java:171) > ... 6 more > Caused by: java.lang.IllegalArgumentException: Can not set final > java.util.Queue field > org.apache.ignite.examples.computegrid.ComputeContinuousMapperExample$ContinuousMapperTask.words > to java.util.ArrayList > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:177) > at > sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:181) > at > sun.reflect.UnsafeQualifiedObjectFieldAccessorImpl.set(UnsafeQualifiedObjectFieldAccessorImpl.java:96) > at java.lang.reflect.Field.set(Field.java:754) > at > org.apache.ignite.internal.portable.PortableClassDescriptor$FieldInfo.read(PortableClassDescriptor.java:1230) > at > org.apache.ignite.internal.portable.PortableClassDescriptor.read(PortableClassDescriptor.java:614) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.deserialize(PortableReaderExImpl.java:2160) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.doReadObject(PortableReaderExImpl.java:2102) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.readObject(PortableReaderExImpl.java:572) > at > org.apache.ignite.internal.portable.PortableClassDescriptor$FieldInfo.read(PortableClassDescriptor.java:1215) > at > org.apache.ignite.internal.portable.PortableClassDescriptor.read(PortableClassDescriptor.java:614) > at > org.apache.ignite.internal.portable.PortableReaderExImpl.deserialize(PortableReaderExImpl.java:2160) > at > org.apache.ignite.internal.portable.GridPortableMarshaller.deserialize(GridPortableMarshaller.java:274) > at > org.apache.ignite.internal.portable.api.PortableMarshaller.unmarshal(PortableMarshaller.java:328) > 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:1157) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) > at java.lang.Thread.run(Thread.java:809) > {noformat} > --------------------------------------------- > EXPECTED RESULT > --------------------------------------------- > Example is passed without any exceptions -- This message was sent by Atlassian JIRA (v6.3.4#6332)