Vasilisa Sidorova created IGNITE-1695:
------------------------------------------ Summary: 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 build #319 Reporter: Vasilisa Sidorova Fix For: 1.5 --------------------------------------------- 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) |
Free forum by Nabble | Edit this page |