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

log_overwrite_warning displays an error instead of a warning

    XMLWordPrintable

Details

    Description

      log_close() may display a log_overwrite_warning() which contains the text:

      InnoDB: The age of the last checkpoint is <age>, which exceeds the log capacity <capacity>.

      This is printed using sql_print_error, meaning it appears as an ERROR in the log.

      However, log_close() appears to simply treat this as a warning when the redo log is full and will return PAGE_FLUSH_SYNC to indicate that "furious flushing is needed".

      Therefore, this appears not to be an error that would result in important redo log entries being overwritten. Instead, this appears to just be an indication that the redo logs are full and that the server will pause to flush before continuing.

      Incorrectly reporting this as an ERROR will cause users to worry that there is a data integrity problem, when in reality it's just an informational note.

      I am getting many of these ERRORs in my logs on a slave server when I do a shutdown with innodb_fast_shutdown = 0, on a database that regularly writes around 200MB per minute to the 1G redo log file and therefore fills it up every few minutes.

      Here is an example of the error messages on shutdown:

      2022-02-05 14:08:29 0 [Note] /usr/sbin/mariadbd (initiated by: root[root] @ localhost []): Normal shutdown
      2022-02-05 14:08:29 0 [Note] InnoDB: FTS optimize thread exiting.
      2022-02-05 14:08:29 0 [Note] InnoDB: to purge 9 transactions
      2022-02-05 14:08:30 0 [Note] InnoDB: Starting shutdown...
      2022-02-05 14:08:30 0 [Note] InnoDB: Dumping buffer pool(s) to /mariadb/ib_buffer_pool
      2022-02-05 14:08:30 0 [Note] InnoDB: Restricted to 32388 pages due to innodb_buf_pool_dump_pct=25
      2022-02-05 14:08:30 0 [Note] InnoDB: Buffer pool(s) dump completed at 220205 14:08:30
      2022-02-05 14:11:05 0 [ERROR] InnoDB: The age of the last checkpoint is 966376793, which exceeds the log capacity 966365799.
      2022-02-05 14:11:21 0 [ERROR] InnoDB: The age of the last checkpoint is 994921739, which exceeds the log capacity 966365799.
      2022-02-05 14:11:37 0 [ERROR] InnoDB: The age of the last checkpoint is 1022257877, which exceeds the log capacity 966365799.
      2022-02-05 14:11:53 0 [ERROR] InnoDB: The age of the last checkpoint is 1047226930, which exceeds the log capacity 966365799.
      2022-02-05 14:12:09 0 [ERROR] InnoDB: The age of the last checkpoint is 1071228676, which exceeds the log capacity 966365799.
      2022-02-05 14:12:25 0 [ERROR] InnoDB: The age of the last checkpoint is 1093753956, which exceeds the log capacity 966365799.
      2022-02-05 14:12:41 0 [ERROR] InnoDB: The age of the last checkpoint is 1112481150, which exceeds the log capacity 966365799.
      2022-02-05 14:12:54 0 [Note] InnoDB: Waiting for change buffer merge to complete number of bytes of change buffer just merged: 192206046
      2022-02-05 14:13:00 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
      2022-02-05 14:13:00 0 [Note] InnoDB: Shutdown completed; log sequence number 236522592867138; transaction id 35631972102
      2022-02-05 14:13:00 0 [Note] /usr/sbin/mariadbd: Shutdown complete

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              cedric Cedric
              Votes:
              1 Vote for this issue
              Watchers:
              6 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.