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)