[
https://issues.apache.org/jira/browse/IGNITE-7467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16378882#comment-16378882
]
ASF GitHub Bot commented on IGNITE-7467:
----------------------------------------
GitHub user Jokser opened a pull request:
https://github.com/apache/ignite/pull/3579
IGNITE-7467 Partition counters validation
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-7467
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/3579.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 #3579
----
commit d52d7a5395b86c3f35ba793751e3f0aa2cb35b8a
Author: Pavel Kovalenko <jokserfn@...>
Date: 2018-01-19T15:53:02Z
IGNITE-7467 WIP
commit cbb4a26f99bc006fe459799b84d01a9001a6ac4e
Author: Pavel Kovalenko <jokserfn@...>
Date: 2018-02-27T16:22:13Z
IGNITE-7467 Validate partition update counters and cache sizes.
commit 92588393b29f57ac27666b48efe859ae7ebb752b
Author: Pavel Kovalenko <jokserfn@...>
Date: 2018-02-27T16:22:19Z
Merge branch 'master' into ignite-7467
commit d9739847e2420a2ddfea00a42f03b261fe16c6f7
Author: Pavel Kovalenko <jokserfn@...>
Date: 2018-02-27T16:23:57Z
IGNITE-7467 Cleaned up test.
commit 1029c84cfec3bbb8922cbcda408d0703477aed82
Author: Pavel Kovalenko <jokserfn@...>
Date: 2018-02-27T16:28:22Z
IGNITE-7467 Missed java docs.
----
> Verify partition update counters and sizes on partition map exchange
> --------------------------------------------------------------------
>
> Key: IGNITE-7467
> URL: https://issues.apache.org/jira/browse/IGNITE-7467
> Project: Ignite
> Issue Type: Improvement
> Components: persistence
> Affects Versions: 2.1
> Reporter: Alexey Goncharuk
> Assignee: Pavel Kovalenko
> Priority: Major
>
> In Ignite we heavily rely on an invariant that under no load owning
> partitions will have equal sizes and, more importantly, equal partition
> counters. This invariant becomes even more important when persistence is
> enabled.
> However, due to a possible bug in the code, this invariant can be violated
> which in a long run may lead to an undetected data loss. We need to take best
> effort to detect such a situation as soon as possible.
> Currently, we already send partition update counters during partition map
> exchange. We can also send partition sizes and verify that corresponding
> partitions in OWNING state have equal partition update counters and sizes.
> If a divergence detected, we can:
> 1) Always print out an error message to the log
> 2) Move the corresponding caches to the read-only state to prevent further
> corruption or operating on invalid data
> Also, we can introduce a ./control.sh command which will trigger an empty
> exchange to verify the partition states.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)