[
https://issues.apache.org/jira/browse/IGNITE-7831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16398327#comment-16398327
]
ASF GitHub Bot commented on IGNITE-7831:
----------------------------------------
GitHub user alex-plekhanov opened a pull request:
https://github.com/apache/ignite/pull/3630
IGNITE-7831 Throw Exceptions instead of AssertionErrors when reading from
corrupted persistence
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/alex-plekhanov/ignite ignite-7831
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/3630.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 #3630
----
commit 1698c15ce0d47d5fbb8dbc633fbf007fb5e7c0e3
Author: Aleksey Plekhanov <plehanov.alex@...>
Date: 2018-03-13T11:09:54Z
IGNITE-7831 Throw Exceptions instead of AssertionErrors when reading from
corrupted persistence
commit 905a1a0065eb853f70e5bb86bb850c27707f4b8d
Author: Aleksey Plekhanov <plehanov.alex@...>
Date: 2018-03-13T11:46:10Z
IGNITE-7831 WIP
commit fd94878610d70697181e6ffcfe939073d8bc273f
Author: Aleksey Plekhanov <plehanov.alex@...>
Date: 2018-03-14T08:39:49Z
IGNITE-7831 WIP
----
> Throw Exceptions instead of AssertionErrors when reading from corrupted
> persistence
> -----------------------------------------------------------------------------------
>
> Key: IGNITE-7831
> URL: https://issues.apache.org/jira/browse/IGNITE-7831
> Project: Ignite
> Issue Type: Improvement
> Reporter: Ilya Lantukh
> Assignee: Aleksey Plekhanov
> Priority: Major
> Labels: iep-14
> Fix For: 2.5
>
>
> There are a few places in our code where we explicitly throw AssertionErrors
> due to inability to correctly read data from persistence and many more places
> where we make assertions based on read values.
> Assertions are used to indicate problems in internal logic, while persistence
> might also get corrupted by various external reasons. It also makes uniform
> handling of such issues considerably harder, because exception handling logic
> in Ignite ignores Errors. If we want to improve stability and minimize
> consequenses of pesistence corruption, we should replace all those
> AssertionErrors and asserts with Exceptions, so that current exception
> handling mechanisms could be reduce. In a number of situations it means that
> instead of causing cluster-wide hang-up problematic node will be
> automatically killed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)