[
https://issues.apache.org/jira/browse/IGNITE-7987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16404902#comment-16404902
]
ASF GitHub Bot commented on IGNITE-7987:
----------------------------------------
GitHub user Jokser opened a pull request:
https://github.com/apache/ignite/pull/3660
IGNITE-7987 Use all discovery events for affinity calculation.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-7987
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/3660.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3660
----
commit 65142464a68b170a8f9ee23b850620c06bc7f121
Author: Pavel Kovalenko <jokserfn@...>
Date: 2018-03-19T14:24:00Z
IGNITE-7987 Use all discovery events for affinity calculation.
----
> 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
> 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)