You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Dmitriy Setrakyan (JIRA)" <ji...@apache.org> on 2015/04/13 05:28:12 UTC

[jira] [Created] (IGNITE-732) IgniteCache.size() should not fail in case of topology changes.

Dmitriy Setrakyan created IGNITE-732:
----------------------------------------

             Summary: IgniteCache.size() should not fail in case of topology changes.
                 Key: IGNITE-732
                 URL: https://issues.apache.org/jira/browse/IGNITE-732
             Project: Ignite
          Issue Type: Bug
          Components: cache
            Reporter: Dmitriy Setrakyan
            Assignee: Yakov Zhdanov
            Priority: Blocker
             Fix For: sprint-4


I believe that cache.size() method fails if topology changes during the execution. I got the following error when executing word-count {{QueryWords}} class and removing one of the server nodes.
{code}
Query results [total=1003726, avg=4.34, min=1, max=1314]
(the,20)
(and,9)
(a,8)
(in,8)
(of,8)
(that,5)
(said,4)
(on,4)
(for,4)
(to,4)
[17:35:54] Topology snapshot [ver=5, nodes=3, CPUs=4, heap=4.0GB]
[17:35:54,772][ERROR][disco-event-worker-#46%null%][GridTaskWorker] Failed to obtain remote job result policy for result from ComputeTask.result(..) method (will fail the whole task): GridJobResultImpl [job=C1 [arg=null], sib=GridJobSiblingImpl [sesId=9a42d9fac41-8437ac61-27ef-4e4b-951d-a29b18346bfe, jobId=ba42d9fac41-833cae7a-295f-4578-a6b0-f4b6d3a1bf50, nodeId=833cae7a-295f-4578-a6b0-f4b6d3a1bf50, isJobDone=false], jobCtx=GridJobContextImpl [jobId=ba42d9fac41-833cae7a-295f-4578-a6b0-f4b6d3a1bf50, attrs={}], node=TcpDiscoveryNode [id=833cae7a-295f-4578-a6b0-f4b6d3a1bf50, addrs=[192.168.2.10, 0:0:0:0:0:0:0:1, 127.0.0.1], sockAddrs=[/192.168.2.10:47500, /0:0:0:0:0:0:0:1:47500, /127.0.0.1:47500], discPort=47500, order=1, intOrder=1, loc=false, ver=1.0.0#19691231-sha1:00000000, isClient=false], ex=class o.a.i.cluster.ClusterTopologyException: Node has left grid: 833cae7a-295f-4578-a6b0-f4b6d3a1bf50, hasRes=true, isCancelled=false, isOccupied=true]
class org.apache.ignite.cluster.ClusterTopologyException: Node has left grid: 833cae7a-295f-4578-a6b0-f4b6d3a1bf50
	at org.apache.ignite.internal.processors.task.GridTaskWorker.onNodeLeft(GridTaskWorker.java:1204)
	at org.apache.ignite.internal.processors.task.GridTaskProcessor$TaskDiscoveryListener.onEvent(GridTaskProcessor.java:1180)
	at org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:739)
	at org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:724)
	at org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:272)
	at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:1533)
	at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:1720)
	at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:1572)
	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108)
	at java.lang.Thread.run(Thread.java:745)
[17:35:55] Ignite node stopped OK [uptime=02:45:01:791]
Exception in thread "main" javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Node has left grid: 833cae7a-295f-4578-a6b0-f4b6d3a1bf50
	at org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1808)
	at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.cacheException(IgniteCacheProxy.java:1463)
	at org.apache.ignite.internal.processors.cache.IgniteCacheProxy.size(IgniteCacheProxy.java:594)
	at org.apache.ignite.examples.streaming.wordcount.QueryWords.main(QueryWords.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Caused by: class org.apache.ignite.IgniteCheckedException: Node has left grid: 833cae7a-295f-4578-a6b0-f4b6d3a1bf50
	at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:6715)
	at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:124)
	at org.apache.ignite.internal.processors.cache.GridCacheAdapter$68.applyx(GridCacheAdapter.java:3757)
	at org.apache.ignite.internal.processors.cache.GridCacheAdapter$68.applyx(GridCacheAdapter.java:3754)
	at org.apache.ignite.internal.util.lang.IgniteClosureX.apply(IgniteClosureX.java:37)
	at org.apache.ignite.internal.util.future.GridFutureChainListener.apply(GridFutureChainListener.java:54)
	at org.apache.ignite.internal.util.future.GridFutureChainListener.apply(GridFutureChainListener.java:28)
	at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:241)
	at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListeners(GridFutureAdapter.java:229)
	at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:359)
	at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:325)
	at org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1323)
	at org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1291)
	at org.apache.ignite.internal.processors.task.GridTaskWorker$3.apply(GridTaskWorker.java:871)
	at org.apache.ignite.internal.processors.task.GridTaskWorker$3.apply(GridTaskWorker.java:822)
	at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6139)
	at org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:822)
	at org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:718)
	at org.apache.ignite.internal.processors.task.GridTaskWorker.onNodeLeft(GridTaskWorker.java:1223)
	at org.apache.ignite.internal.processors.task.GridTaskProcessor$TaskDiscoveryListener.onEvent(GridTaskProcessor.java:1180)
	at org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:739)
	at org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:724)
	at org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:272)
	at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:1533)
	at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:1720)
	at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:1572)
	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108)
	at java.lang.Thread.run(Thread.java:745)
Caused by: class org.apache.ignite.cluster.ClusterTopologyException: Node has left grid: 833cae7a-295f-4578-a6b0-f4b6d3a1bf50
	at org.apache.ignite.internal.processors.task.GridTaskWorker.onNodeLeft(GridTaskWorker.java:1204)
	... 9 more
{code}



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