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

Alexey Goncharuk commented on IGNITE-9558:
------------------------------------------

[~ilantukh], unfortunately, I still see the same error here: 
{code}
[01:25:50]W:             [org.apache.ignite:ignite-core] 
java.lang.AssertionError: Invalid cached affinity: 
[cache=HistoryAffinityAssignment [topVer=AffinityTopologyVersion [topVer=252, 
minorTopVer=0], mvccCrd=MvccCoordinator 
[nodeId=53e3df5b-0e09-4825-9aa8-da015c500000, crdVer=1542061436092, 
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=0]]], 
topVer=AffinityTopologyVersion [topVer=9, minorTopVer=0], 
lastAffChangedTopVer=AffinityTopologyVersion [topVer=9, minorTopVer=0]]
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:737)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:695)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.nodes(GridDhtPartitionTopologyImpl.java:1113)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheContext.dhtMap(GridCacheContext.java:1573)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.map(GridDhtLockFuture.java:863)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.onOwnerChanged(GridDhtLockFuture.java:707)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheMvccManager.notifyOwnerChanged(GridCacheMvccManager.java:228)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheMvccManager.access$200(GridCacheMvccManager.java:82)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheMvccManager$3.onOwnerChanged(GridCacheMvccManager.java:165)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.checkOwnerChanged(GridCacheMapEntry.java:4838)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry.readyLock(GridDistributedCacheEntry.java:512)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.readyLocks(GridDhtLockFuture.java:615)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture.map(GridDhtLockFuture.java:819)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.lockAllAsyncInternal(GridDhtTransactionalCacheAdapter.java:1024)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter.obtainLockAsync(GridDhtTxLocalAdapter.java:720)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter.lockAllAsync(GridDhtTxLocalAdapter.java:665)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.lockAllAsync(GridDhtTransactionalCacheAdapter.java:1223)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearLockRequest0(GridDhtTransactionalCacheAdapter.java:820)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearLockRequest(GridDhtTransactionalCacheAdapter.java:798)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$000(GridDhtTransactionalCacheAdapter.java:112)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$3.apply(GridDhtTransactionalCacheAdapter.java:158)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$3.apply(GridDhtTransactionalCacheAdapter.java:156)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1059)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:584)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:383)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:309)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:100)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:299)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1568)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1196)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1092)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[01:25:50]W:             [org.apache.ignite:ignite-core]        at 
java.lang.Thread.run(Thread.java:748)
{code}

https://ci.ignite.apache.org/viewLog.html?buildId=2303998&buildTypeId=IgniteTests24Java8_Basic1&tab=buildResultsDiv

> Avoid changing AffinityTopologyVersion on client connect when possible
> ----------------------------------------------------------------------
>
>                 Key: IGNITE-9558
>                 URL: https://issues.apache.org/jira/browse/IGNITE-9558
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 2.0
>            Reporter: Alexey Goncharuk
>            Assignee: Ilya Lantukh
>            Priority: Major
>             Fix For: 2.8
>
>
> Currently a client join event changes discovery topology version which, in 
> turn, changes AffinityTopologyVersion.
> When a client maps transaction on new AffinityTopologyVersion, corresponding 
> message is not processed on remote node until remote node receives the 
> corresponding discovery event. If discovery event delivery is delayed for 
> some reason, this will result in transaction stalls on client joins.
> Since the client node does not change partition affinity, we can safely map 
> transactions on the previous topology version and do not change the affinity 
> topology version at all.
> Some cases need special care and probably do not qualify for this 
> optimization, such as when client has near cache or client hosts partition 
> for REPLICATED cache.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to