You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/03/19 14:26:00 UTC

[jira] [Commented] (IGNITE-7987) Affinity may be not calculated properly in case of merged exchanges with client nodes

    [ 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 <jo...@...>
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)