[ https://issues.apache.org/jira/browse/IGNITE-11625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vyacheslav Koptilin updated IGNITE-11625: ----------------------------------------- Description: It seems that the optimization introduced by IGNITE-9558 should not be applied in the case when a client node connects to the cluster and has new statically configured caches, otherwise, the client node can map a transaction to a server node which has not started the required cache yet, and so this behavior results in the following exception: {noformat} [ERROR][sys-stripe-16-#62191%baseline.ClientAffinityAssignmentWithBaselineTest3%][G] Failed to execute runnable. java.lang.AssertionError: Failed to find cache context [cacheId=-567517108, readyTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=1]] at org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.unmarshal(IgniteTxEntry.java:938) at org.apache.ignite.internal.processors.cache.GridCacheMessage.unmarshalTx(GridCacheMessage.java:446) at org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareRequest.finishUnmarshal(GridDistributedTxPrepareRequest.java:436) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1609) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:586) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1561) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1189) at org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127) at org.apache.ignite.internal.managers.communication.GridIoManager$8.run(GridIoManager.java:1086) at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:550) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:748) {noformat} > AffinityTopologyVersion should be changed on client connect when this client > node has new statically configured cache(s). > ------------------------------------------------------------------------------------------------------------------------- > > Key: IGNITE-11625 > URL: https://issues.apache.org/jira/browse/IGNITE-11625 > Project: Ignite > Issue Type: Bug > Affects Versions: 2.7 > Reporter: Vyacheslav Koptilin > Assignee: Vyacheslav Koptilin > Priority: Major > Fix For: 2.8 > > > It seems that the optimization introduced by IGNITE-9558 should not be > applied in the case when a client node connects to the cluster and has new > statically configured caches, > otherwise, the client node can map a transaction to a server node which has > not started the required cache yet, and so this behavior results in the > following exception: > {noformat} > [ERROR][sys-stripe-16-#62191%baseline.ClientAffinityAssignmentWithBaselineTest3%][G] > Failed to execute runnable. > java.lang.AssertionError: Failed to find cache context [cacheId=-567517108, > readyTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=1]] > at > org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.unmarshal(IgniteTxEntry.java:938) > at > org.apache.ignite.internal.processors.cache.GridCacheMessage.unmarshalTx(GridCacheMessage.java:446) > at > org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareRequest.finishUnmarshal(GridDistributedTxPrepareRequest.java:436) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1609) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:586) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308) > at > org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1561) > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1189) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127) > at > org.apache.ignite.internal.managers.communication.GridIoManager$8.run(GridIoManager.java:1086) > at > org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:550) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) > at java.lang.Thread.run(Thread.java:748) > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)