Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-32757

innodb_undo_log_truncate=ON is not crash safe

Details

    Description

      As noted in MDEV-32681, the invocation of buf_page_t::clear_oldest_modification() in trx_purge_truncate_history() is unsafe. The buf_flush_page_cleaner() thread may advance the checkpoint before mtr_t::commit_shrink() has finished executing. This may cause a previously committed transaction to be treated as uncommitted. The server could crash or hang while trying to roll back the "uncommitted" transaction. With the data.tar.xz that is attached to MDEV-32681, the rollback would try to free an undo log page multiple times and possibly end up in an infinite loop.

      Attachments

        Issue Links

          Activity

            Transition Time In Source Status Execution Times
            Marko Mäkelä made transition -
            Open In Progress
            2h 55m 1
            Marko Mäkelä made transition -
            In Progress In Review
            36s 1
            Thirunarayanan Balathandayuthapani made transition -
            In Review Stalled
            4d 23h 27m 1
            Marko Mäkelä made transition -
            Stalled Closed
            2h 48m 1

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.