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

innodb.innodb-change-buffer-recovery fails for xtradb

Details

    • 10.2.4-1, 10.2.4-2

    Description

      mysql-test-run innodb.innodb-change-buffer-recovery,xtradb
      @@ -36,7 +36,7 @@
      SET DEBUG_DBUG='+d,crash_after_log_ibuf_upd_inplace';
      SELECT b FROM t1 LIMIT 3;
      ERROR HY000: Lost connection to MySQL server during query
      -FOUND /Wrote log record for ibuf update in place operation/ in my_restart.err
      +NOT FOUND /Wrote log record for ibuf update in place operation/ in my_restart.err
      CHECK TABLE t1;

      Attachments

        Activity

          I was unable to repeat the failure. The only reason for the failure that I can think of is that the server is crashing for some unexpected reason, before this statement in ibuf0ibuf.cc is executed:

          			DBUG_EXECUTE_IF(
          				"crash_after_log_ibuf_upd_inplace",
          				log_buffer_flush_to_disk();
          				ib_logf(IB_LOG_LEVEL_INFO,
          					"Wrote log record for ibuf update in "
          					"place operation");
          				DBUG_SUICIDE();
          			);
          

          Next time this occurs, please save the datadir and the server error log for analysis. It should be easy to analyze because during the time of the failure, the server is not running, and we could also use the InnoDB redo log for figuring out what happened.

          marko Marko Mäkelä added a comment - I was unable to repeat the failure. The only reason for the failure that I can think of is that the server is crashing for some unexpected reason, before this statement in ibuf0ibuf.cc is executed: DBUG_EXECUTE_IF( "crash_after_log_ibuf_upd_inplace", log_buffer_flush_to_disk(); ib_logf(IB_LOG_LEVEL_INFO, "Wrote log record for ibuf update in " "place operation"); DBUG_SUICIDE(); ); Next time this occurs, please save the datadir and the server error log for analysis. It should be easy to analyze because during the time of the failure, the server is not running, and we could also use the InnoDB redo log for figuring out what happened.

          The problem is that in xtradb there is a LOT of log entries of type:
          innodb_change_buffering_debug flush 4 45
          innodb_change_buffering_debug evict 4 45

          So many that the my_restart.err files becomes more than 50,000 characters, which causes search_pattern_in_file.inc to fail.

          Fix: Don't flood the buffer or increase the search limit to 70,000 characters.

          monty Michael Widenius added a comment - The problem is that in xtradb there is a LOT of log entries of type: innodb_change_buffering_debug flush 4 45 innodb_change_buffering_debug evict 4 45 So many that the my_restart.err files becomes more than 50,000 characters, which causes search_pattern_in_file.inc to fail. Fix: Don't flood the buffer or increase the search limit to 70,000 characters.

          The error log messages are part of the `innodb_change_buffering_debug` instrumentation that was added to MySQL 5.5 by me in 2010.
          There is no real need to flood the server error log with those messages. We can remove them.

          However, it is interesting that XtraDB is writing much more of these messages than InnoDB (1064 vs 532). That could be a sign of some real problem.

          marko Marko Mäkelä added a comment - The error log messages are part of the `innodb_change_buffering_debug` instrumentation that was added to MySQL 5.5 by me in 2010. There is no real need to flood the server error log with those messages. We can remove them. However, it is interesting that XtraDB is writing much more of these messages than InnoDB (1064 vs 532). That could be a sign of some real problem.

          People

            marko Marko Mäkelä
            monty Michael Widenius
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.