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/22 12:12:00 UTC

[jira] [Commented] (IGNITE-7871) Implement 2-phase waiting for partition release

    [ https://issues.apache.org/jira/browse/IGNITE-7871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16409438#comment-16409438 ] 

ASF GitHub Bot commented on IGNITE-7871:
----------------------------------------

GitHub user Jokser opened a pull request:

    https://github.com/apache/ignite/pull/3681

    IGNITE-7871 2-phase wait for partition release (Validate update counters)

    

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

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

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

    https://github.com/apache/ignite/pull/3681.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 #3681
    
----
commit d52d7a5395b86c3f35ba793751e3f0aa2cb35b8a
Author: Pavel Kovalenko <jo...@...>
Date:   2018-01-19T15:53:02Z

    IGNITE-7467 WIP

commit cbb4a26f99bc006fe459799b84d01a9001a6ac4e
Author: Pavel Kovalenko <jo...@...>
Date:   2018-02-27T16:22:13Z

    IGNITE-7467 Validate partition update counters and cache sizes.

commit 92588393b29f57ac27666b48efe859ae7ebb752b
Author: Pavel Kovalenko <jo...@...>
Date:   2018-02-27T16:22:19Z

    Merge branch 'master' into ignite-7467

commit d9739847e2420a2ddfea00a42f03b261fe16c6f7
Author: Pavel Kovalenko <jo...@...>
Date:   2018-02-27T16:23:57Z

    IGNITE-7467 Cleaned up test.

commit 1029c84cfec3bbb8922cbcda408d0703477aed82
Author: Pavel Kovalenko <jo...@...>
Date:   2018-02-27T16:28:22Z

    IGNITE-7467 Missed java docs.

commit d9992ff742fad8023ab29fbe632e46a2069370b1
Author: Pavel Kovalenko <jo...@...>
Date:   2018-02-27T16:42:11Z

    IGNITE-7467 Fixed string representation of invalid partitions.

commit 1f9fa98123fc07fa0cce3eb21ec18bea5b5eec7f
Author: Pavel Kovalenko <jo...@...>
Date:   2018-02-28T11:11:06Z

    IGNITE-7467 Reworked and simplified validation.

commit 2b7dfc5b8796eb218f580f348cb07918ab3bf24f
Author: Pavel Kovalenko <jo...@...>
Date:   2018-02-28T12:29:26Z

    IGNITE-7467 Backward compatibility.

commit 8ce694a3397fab626ea902d40cb3eb885b2b7793
Author: Pavel Kovalenko <jo...@...>
Date:   2018-03-15T09:40:24Z

    Merge branch 'master' into ignite-7467
    
    # Conflicts:
    #	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheOffheapManager.java
    #	modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java

commit 32bc884d856414329e7d67b5bb3435dc457e52db
Author: Pavel Kovalenko <jo...@...>
Date:   2018-03-15T10:24:37Z

    IGNITE-7467 Backward compatibility to Java 7.

commit 2e4c5909bf8f5375f1b824cd9260133a9ec0d93e
Author: Pavel Kovalenko <jo...@...>
Date:   2018-03-22T11:56:07Z

    IGNITE-7871 Distributed latch prototype. 2-phase waiting for partitions release.

commit e280491f417ed104ac3c8ab91f80c640d085a750
Author: Pavel Kovalenko <jo...@...>
Date:   2018-03-22T11:59:35Z

    Merge branch 'ignite-7467' into ignite-7871

commit 27a72e3b538b102156101ec33012b3e82617fcf8
Author: Pavel Kovalenko <jo...@...>
Date:   2018-03-22T12:06:50Z

    IGNITE-7871 Disable cache sizes validation.

----


> Implement 2-phase waiting for partition release
> -----------------------------------------------
>
>                 Key: IGNITE-7871
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7871
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 2.4
>            Reporter: Pavel Kovalenko
>            Assignee: Pavel Kovalenko
>            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
(v7.6.3#76005)