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

Reply via email to