Pavel Kovalenko created IGNITE-7987:
---------------------------------------
Summary: 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: Pavel Kovalenko
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 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)