You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (JIRA)" <ji...@apache.org> on 2019/03/25 12:35:00 UTC
[jira] [Updated] (IGNITE-11625) AffinityTopologyVersion should be
changed on client connect when this client node has new statically
configured cache(s).
[ 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)