[ 
https://issues.apache.org/jira/browse/IGNITE-7831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ilya Lantukh updated IGNITE-7831:
---------------------------------
    Description: 
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.

  was: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 most places of 
code in Ignite ignore Errors.


> 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
>            Priority: Major
>              Labels: iep-14
>
> 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