ASF GitHub Bot commented on IGNITE-7871:

GitHub user Jokser opened a pull request:


    IGNITE-7871 Check local join future on error.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-7871-micro-fix

Alternatively you can review and apply these changes as the patch at:


To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3793
commit 427cb4c4025534134bb448ecbdc1172845a7adaa
Author: Pavel Kovalenko <jokserfn@...>
Date:   2018-04-11T11:11:22Z

    IGNITE-7871 Check local join future on error.


> Implement 2-phase waiting for partition release
> -----------------------------------------------
>                 Key: IGNITE-7871
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7871
>             Project: Ignite
>          Issue Type: Improvement
>          Components: cache
>    Affects Versions: 2.4
>            Reporter: Pavel Kovalenko
>            Assignee: Alexey Goncharuk
>            Priority: Major
>             Fix For: 2.5
> Using validation implemented in IGNITE-7467 we can observe the following 
> situation:
> Let's we have some partition and nodes which owning it N1 (primary) and N2 
> (backup)
> 1) Exchange is started
> 2) N2 finished waiting for partitions release and started to create Single 
> message (with update counters).
> 3) N1 waits for partitions release.
> 4) We have pending cache update N1 -> N2. This update is done after step 2.
> 5) This update increments update counters both on N1 and N2.
> 6) N1 finished waiting for partitions release, while N2 already sent Single 
> message to coordinator with outdated update counter.
> 7) Coordinator sees different partition update counters for N1 and N2. 
> Validation is failed, while data is equal.  
> Solution:
> Every server node participating in PME should wait while all other server 
> nodes will finish their ongoing updates (finish wait for partition release 
> method)

This message was sent by Atlassian JIRA

Reply via email to