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

Change buffer operations fail to check for log file overflow

    XMLWordPrintable

    Details

      Description

      A log excerpt that was originally posted in MDEV-27784 strongly suggests that the change buffer merge may cause an InnoDB log file overflow:

      2022-10-24 23:20:16 0 [Note] InnoDB: FTS optimize thread exiting.
      2022-10-24 23:20:16 0 [Note] InnoDB: to purge 5 transactions
      2022-10-24 23:20:17 0 [Note] InnoDB: Starting shutdown...
      2022-10-24 23:20:17 0 [Note] InnoDB: Dumping buffer pool(s) to /data/maria_data/ib_buffer_pool
      2022-10-24 23:20:17 0 [Note] InnoDB: Restricted to 354860 pages due to innodb_buf_pool_dump_pct=25
      2022-10-24 23:20:17 0 [Note] InnoDB: Buffer pool(s) dump completed at 221024 23:20:17
      2022-10-24 23:57:37 0 [ERROR] InnoDB: The age of the last checkpoint is 966373838, which exceeds the log capacity 966365799.
      2022-10-24 23:57:53 0 [ERROR] InnoDB: The age of the last checkpoint is 974973721, which exceeds the log capacity 966365799.
      2022-10-24 23:58:09 0 [ERROR] InnoDB: The age of the last checkpoint is 983054253, which exceeds the log capacity 966365799.
      2022-10-24 23:58:25 0 [ERROR] InnoDB: The age of the last checkpoint is 991661268, which exceeds the log capacity 966365799.
      ...
      2022-10-25  2:02:57 0 [ERROR] InnoDB: The age of the last checkpoint is 4351924949, which exceeds the log capacity 966365799.
      

      At this point, the server was forcibly killed, and it was unable to recover, because the last valid checkpoint had been overwritten 4½ times.

      A design constraint is that before any buffer page latch is acquired in a mini-transaction that will write something, log_free_check() must be called. In the entire change buffer subsystem, only the function ibuf_remove_free_page() contains such a call, added in MDEV-13637.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              marko Marko Mäkelä
              Reporter:
              marko Marko Mäkelä
              Votes:
              1 Vote for this issue
              Watchers:
              9 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.