[ 
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)

Reply via email to