[ 
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)

Reply via email to