Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-7831

Throw Exceptions instead of AssertionErrors when reading from corrupted persistence

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.5
    • None

    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.

      Attachments

        Issue Links

          Activity

            People

              alex_pl Aleksey Plekhanov
              ilantukh Ilya Lantukh
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: