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

Unexpected "InnoDB: Crash recovery is broken due to insufficient innodb_log_file_size" with new binlog

    XMLWordPrintable

Details

    • Unexpected results

    Description

      I'm not sure the error is specific to the new binlog, but so far I could only reproduce it with binlog-storage-engine.

      knielsen_binlog_in_engine_12.3 60c4ad7dcffc60841d914942195edb4b420b44cb

      Version: '12.3.0-MariaDB-debug-log'  socket: '/home/binlog/MDEV-38462/var-no-rr/trial.5/s2/mysql.sock'  port: 14141  Source distribution
      2026-01-01 16:18:54 4 [Note] Master connection name: ''  Master_info_file: 'master.info'  Relay_info_file: 'relay-log.info'
      2026-01-01 16:18:54 4 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MariaDB server acts as a replica and has its hostname changed. Please use '--log-basename=#' or '--relay-log=mysql-relay-bin' to avoid this problem.
      2026-01-01 16:18:55 4 [Note] 'CHANGE MASTER TO executed'. Previous state master_host='', master_port='3306', master_log_file='', master_log_pos='4'. New state master_host='127.0.0.1', master_port='14140', master_log_file='', master_log_pos='4'.
      2026-01-01 16:18:55 4 [Note] Previous Using_Gtid=Slave_Pos. New Using_Gtid=Current_Pos
      2026-01-01 16:18:55 5 [Note] Slave I/O thread: Start asynchronous replication to master 'replication@127.0.0.1:14140' in log '' at position 4
      2026-01-01 16:18:55 6 [Note] Slave SQL thread initialized, starting replication in log 'FIRST' at position 4, relay log './mysql-relay-bin.000001' position: 4; GTID position ''
      2026-01-01 16:18:55 5 [Note] Slave I/O thread: connected to master 'replication@127.0.0.1:14140',replication starts at GTID position ''
      2026-01-01 16:20:52 6 [ERROR] InnoDB: Crash recovery is broken due to insufficient innodb_log_file_size; last checkpoint LSN=411232115, current LSN=501822982.
      2026-01-01 16:20:52 0 [Note] InnoDB: Crash recovery was broken between LSN=501822982 and checkpoint LSN=432026400.
      

      That is, the error appears nowhere close to server restart or crash recovery. It usually happens on a slave, but there were a few occasions on a master.

      The concurrent test:

      MariaDB/randgen 3ed986410527a2a30e2a169734c62d48f5491639

      perl ./run.pl --base-port=14140 --basedir=/home/binlog/MDEV-38462/knielsen_binlog_in_engine_12.3 --compatibility=999999 --duration=100 --filter=conf/ff/replication.ff --filter=conf/preview/new_binlog.ff --gendata=conf/zz/innodb-key-block-size.zz --grammar=mdev38462.yy --mysqld=--binlog-format=mixed --mysqld=--binlog_storage_engine=innodb --mysqld=--innodb-lock-wait-timeout=10 --mysqld=--lock-wait-timeout=12 --mysqld=--log_bin  --mysqld=--max-statement-time=25 --queries=1000000 --reporters=Deadlock --scenario-use-gtid --scenario=Replication --threads=4 --vardir=/home/binlog/MDEV-38462/var-rr --seed=1766701219 --trials=50 --output="InnoDB: Crash recovery is broken due to insufficient" --rr
      

      It usually fails for me in 10-20 attempts, but not very reliably. The test is rr-able, the rr profile will be provided.

      The test is a MS replication setup with binlog_storage_engine=innodb. innodb_log_file_size remains default. Specifics of the flow on the master is that it loads fairly big files via LOAD_FILE, uses a lot of JSON functions which tend to take a lot of time, and does not obey max_statement_time (it's a separate old bug). I don't know if any of this has any relation to the error in question.

      Attachments

        Issue Links

          Activity

            People

              knielsen Kristian Nielsen
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.