You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrew Mashenkov (JIRA)" <ji...@apache.org> on 2017/10/11 12:15:00 UTC

[jira] [Commented] (IGNITE-6571) Service not found exception when calling service method before initialization finished

    [ https://issues.apache.org/jira/browse/IGNITE-6571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16200178#comment-16200178 ] 

Andrew Mashenkov commented on IGNITE-6571:
------------------------------------------

Looks like it is duplicate for IGNITE-1478

> Service not found exception when calling service method before initialization finished
> --------------------------------------------------------------------------------------
>
>                 Key: IGNITE-6571
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6571
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Denis Mekhanikov
>            Priority: Minor
>
> When trying to call a method of a service after its assignment is written to cache, but before initialization is complete, then the following exception appears in log:
> {noformat}
> [2017-10-06 16:33:14,688][ERROR][sys-#37%null%][GridTaskWorker] Failed to obtain remote job result policy for result from ComputeTask.result(..) method (will fail the whole task): GridJobResultImpl [job=C2 [c=ServiceProxyCallable [mtdName=foo, svcName=testService, ignite=null]], sib=GridJobSiblingImpl [sesId=1f1d3e1fe51-1d90f286-d1f5-452b-8e1e-621f218d0e3e, jobId=3f1d3e1fe51-1d90f286-d1f5-452b-8e1e-621f218d0e3e, nodeId=037457d8-e2d3-434b-8d34-70f152a3e777, isJobDone=false], jobCtx=GridJobContextImpl [jobId=3f1d3e1fe51-1d90f286-d1f5-452b-8e1e-621f218d0e3e, timeoutObj=null, attrs={}], node=TcpDiscoveryNode [id=037457d8-e2d3-434b-8d34-70f152a3e777, addrs=[0:0:0:0:0:0:0:1%lo, 127.0.0.1, 172.25.4.149], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47501, /127.0.0.1:47501, latitude.gridgain.local/172.25.4.149:47501], discPort=47501, order=17, intOrder=10, lastExchangeTime=1507296794313, loc=false, ver=2.1.0#19700101-sha1:00000000, isClient=false], ex=class o.a.i.IgniteException: Service not found: testService, 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:1027)
> 	at org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1020)
> 	at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6640)
> 	at org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:1020)
> 	at org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:838)
> 	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:1556)
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
> 	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:1097)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: class org.apache.ignite.IgniteException: Service not found: testService
> 	at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1850)
> 	at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:566)
> 	at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6608)
> 	at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:560)
> 	at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:489)
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> 	at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1181)
> 	at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1908)
> 	... 7 more
> Caused by: class org.apache.ignite.internal.processors.service.GridServiceNotFoundException: Service not found: testService
> 	at org.apache.ignite.internal.processors.service.GridServiceProxy$ServiceProxyCallable.call(GridServiceProxy.java:408)
> 	at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1847)
> 	... 14 more
> {noformat}
> After that method call waits for initialization to finish and returns successfully. Exception in log looks misleading and makes people think that something went wrong, but actually everything works as expected. This exception should either be muted or replaced with some meaningful message.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)