[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16709736#comment-16709736 ] ASF GitHub Bot commented on IGNITE-7366: Github user xtern closed the pull request at: https://github.com/apache/ignite/pull/3451 > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > Fix For: 2.7 > > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16540166#comment-16540166 ] ASF GitHub Bot commented on IGNITE-7366: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/4321 > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > Fix For: 2.7 > > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16540098#comment-16540098 ] Ivan Daschinskiy commented on IGNITE-7366: -- Guys, I suppose that this patch is good. I've merged it with recent master, corrected some remarks from Pavel Kovalenko. Please, look at this ticket again. > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16534635#comment-16534635 ] ASF GitHub Bot commented on IGNITE-7366: GitHub user ivandasch opened a pull request: https://github.com/apache/ignite/pull/4321 IGNITE-7366. Code review reaction You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-7366 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/4321.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4321 commit 2398cf3a5c9a91eaf15336cd5699a2f83e588bbc Author: pereslegin-pa Date: 2018-03-01T07:56:09Z IGNITE-7366 Fixed ready topology await on merge exchanges. commit 106e14af5df94826f9daa2c4de700dc32383d273 Author: Ivan Daschinskiy Date: 2018-07-06T08:38:23Z Merge remote-tracking branch 'origin/master' into ignite-7366 commit 399c68adb38a0bfed4a83552d1db74850030c7a5 Author: Ivan Daschinskiy Date: 2018-07-06T09:44:44Z IGNITE-7366: Code review reaction. > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16439765#comment-16439765 ] Pavel Kovalenko commented on IGNITE-7366: - [~xtern] I've looked at changes and seems the logic of waiting for affinity can be optimized. 1) I've noticed that we're interesting only for discovery events which trigger PME. In this case instead of synchronous waiting for exchange future, we can listen on it, and after exchange is done, we need to check that discovery event version equals to exchange future result topology version, and only in this case run DepRunnable clojure. 2) Minor: Please avoid comparing topology versions by reference (Use compareTo in all cases) > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16439722#comment-16439722 ] Dmitriy Pavlov commented on IGNITE-7366: I've also retriggered failed builds because there are a lot of suite timeouts, I'm not sure if it indicates change is safe. Especially I am concerned about Binary Objects (Simple Mapper Basic) [ tests 0 TIMEOUT , Exit Code warn 1 ] IgniteServiceDynamicCachesSelfTest.testDeployCalledAfterCacheStart (last started) > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16439717#comment-16439717 ] Dmitriy Pavlov commented on IGNITE-7366: [~xtern] , I've found one suspicious test failure in this run all Ignite Continuous Query [1] IgniteCacheQuerySelfTestSuite3: CacheContinuousWithTransformerClientSelfTest.testContinuousWithTransformerAndRegularListenerWithFilter (master fail rate 0,0%) could you please check if it is related to current ticket change? > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16430611#comment-16430611 ] Ilya Kasnacheev commented on IGNITE-7366: - [~agoncharuk] can somebody from your team look? My understanding of Exchange process is not enough here. > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16422155#comment-16422155 ] Pavel Pereslegin commented on IGNITE-7366: -- [~ilyak], could you take a look or suggest someone who can review this fix? > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16381673#comment-16381673 ] ASF GitHub Bot commented on IGNITE-7366: GitHub user xtern reopened a pull request: https://github.com/apache/ignite/pull/3451 IGNITE-7366 Service reassignment with merge exchanges. You can merge this pull request into a Git repository by running: $ git pull https://github.com/xtern/ignite IGNITE-7366 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/3451.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3451 commit 2398cf3a5c9a91eaf15336cd5699a2f83e588bbc Author: pereslegin-paDate: 2018-03-01T07:56:09Z IGNITE-7366 Fixed ready topology await on merge exchanges. > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev >Assignee: Pavel Pereslegin >Priority: Major > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7366) Affinity assignment exception in service processor during multiple nodes join
[ https://issues.apache.org/jira/browse/IGNITE-7366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16319921#comment-16319921 ] Ilya Kasnacheev commented on IGNITE-7366: - As a work-around, setting -DIGNITE_EXCHANGE_COMPATIBILITY_VER_1=true JVM argument seems to fix this problem. That confirms the guess about its origin. > Affinity assignment exception in service processor during multiple nodes join > - > > Key: IGNITE-7366 > URL: https://issues.apache.org/jira/browse/IGNITE-7366 > Project: Ignite > Issue Type: Bug > Components: compute >Affects Versions: 2.3 >Reporter: Ilya Kasnacheev > > When two nodes which are deploying services join at the same time, and > exception is observed: > {code} > SEVERE: Error when executing service: null > java.lang.IllegalStateException: Getting affinity for topology version > earlier than affinity is calculated [locNode=TcpDiscoveryNode > [id=245d4bec-0384-4808-b66d-d2340930207f..., discPort=37500, order=2, > intOrder=2, lastExchangeTime=1515394551283, loc=true, > ver=2.3.0#20171028-sha1:8add7fd5, isClient=false], grp=ignite-sys-cache, > topVer=AffinityTopologyVersion [topVer=3, minorTopVer=0], > head=AffinityTopologyVersion [topVer=4, minorTopVer=0], > history=[AffinityTopologyVersion [topVer=2, minorTopVer=0], > AffinityTopologyVersion [topVer=2, minorTopVer=1], AffinityTopologyVersion > [topVer=4, minorTopVer=0]]] > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:514) > at > org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:419) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:220) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:256) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:247) > at > org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:271) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$TopologyListener$1.run0(GridServiceProcessor.java:1771) > at > org.apache.ignite.internal.processors.service.GridServiceProcessor$DepRunnable.run(GridServiceProcessor.java:1958) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) > {code} > This may be caused by exchange merges. There are 4 nodes joining topology. > When nodes 3 and 4 join at the same time, exchanges for [3, 0] and [4, 0] are > merged. But, TopologyListener in service processor is notified about topVer > [3, 0], for which there is no affinity because exchange has already moved > forward to [4, 0]. -- This message was sent by Atlassian JIRA (v6.4.14#64029)