[ 
https://issues.apache.org/jira/browse/IGNITE-17507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin updated IGNITE-17507:
-----------------------------------------
    Ignite Flags:   (was: Docs Required,Release Notes Required)

> Failed to wait for partition map exchange on some clients
> ---------------------------------------------------------
>
>                 Key: IGNITE-17507
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17507
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Vyacheslav Koptilin
>            Assignee: Vyacheslav Koptilin
>            Priority: Major
>
> We have scenario with several client and server nodes, which can stuck on PME 
> after start:
> * Start some server nodes
> * Trigger rebalance
> * Start some client and server nodes
> * Some of the client nodes stuck with Failed to wait for partition map 
> exchange [topVer=AffinityTopologyVersion…
> Deep investigation of the logs showed, that the root cause of the stuck PME 
> on client is the race between joining new client node and receiving stale 
> CacheAffinityChangeMessage on a client, which causes PME, but when other old 
> nodes receive this CacheAffinityChangeMessage, they skip it because of some 
> optimization. 
> Optimization can be found in the method 
> CacheAffinitySharedManager#onDiscoveryEvent, we save lastAffVer = topVer; for 
> old nodes, but because of some race lastAffVer for the problem client node is 
> null when we reach CacheAffinitySharedManager#onCustomEvent and we schedule 
> invalid PME in  msg.exchangeNeeded(exchangeNeeded);, but other nodes skip 
> this PME
> The possible fix is that we can try to make the _CacheAffinityChangeMessage 
> _mutable (mutable discovery custom message). It allows to modify the message 
> before sending it across the ring. This approach does not require to make a 
> decision to apply or skip the message on client nodes, the required flag will 
> be transferred from a server node. In case of using Zookeeper Discovery, 
> there is no ability to mutate discovery messages. However is is possible to 
> mutate the message on the coordinator node. This is quite enough for our 
> case. TeamCity does not demonstrates any issue with this approach.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to