[
https://issues.apache.org/jira/browse/IGNITE-7987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Kovalenko reassigned IGNITE-7987:
---------------------------------------
Assignee: Alexey Goncharuk (was: Pavel Kovalenko)
Fix is ready.
It also contains partial fix for cluster activation + parallel client node join
problem.
TC:
https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8&branch_IgniteTests24Java8=pull%2F3660%2Fhead
> Affinity may be not calculated properly in case of merged exchanges with
> client nodes
> -------------------------------------------------------------------------------------
>
> Key: IGNITE-7987
> URL: https://issues.apache.org/jira/browse/IGNITE-7987
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 2.4
> Reporter: Pavel Kovalenko
> Assignee: Alexey Goncharuk
> Priority: Major
> Fix For: 2.5
>
>
> Currently we pass only last (or first in some cases) discovery event for
> affinity calculation at GridAffinityAssignmentCache.
> Affinity calculation can be skipped if such discovery event belongs to client
> node or node filtered by nodeFilter for optimization issues (because affinity
> will not be changed in such case).
> Since we have exchange merging there can be several discovery events
> corresponds to one exchange. Passing only first or last event for affinity
> calculation is wrong, because calculation in such case can be skipped, while
> exchange actually contains events changing affinity.
> Instead of first/last event we should pass whole collection of discovery
> events (ExchangeDiscoveryEvents) and skip affinity calculation for a group
> only when ALL events doesn't change affinity for such group.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)