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

TX can hang forever if any runtime exception occurs on txFinish.

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: 2.8
    • Component/s: cache, mvcc

      Description

      The issue relates to incorrect IOOM handling that can occurs on Tx prepare\commit\rollback and can be reproduced if persistence enabled and Tx state logging into WAL enabled.

      This affects MVCC tx as it always log it's state into WAL and non-MVCC Tx with enabled WAL logging via setting IGNITE_WAL_LOG_TX_RECORDS system property.

      We have to check and fix if tx finish methods handle RuntimeExceptions in proper way.

      Good start is to force throw RuntimeException from tm().mvccPrepare() and tm().mvccFinish() methods, and check if DhtFinishFuture done correctly with exception rather then (re)throwing exception bypassing failure handler.

      The goal is to make IoomFailureHandlerTest passed after runtime failures during Tx commit\prepare\rollback.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                amashenkov Andrey Mashenkov
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: