[
https://issues.apache.org/jira/browse/IGNITE-732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Gura reassigned IGNITE-732:
----------------------------------
Assignee: Irina Vasilinets (was: Andrey Gura)
IGNITE-834 addresses similar problem. The fix should be consistent.
> 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: Irina Vasilinets
> 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)