[MDEV-13475] InnoDB: Failing assertion: lsn == log_sys->lsn || srv_force_recovery == SRV_FORCE_NO_LOG_REDO Created: 2017-08-08  Updated: 2017-08-13  Resolved: 2017-08-10

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: N/A
Fix Version/s: 10.3.1

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None

Attachments: File data.tar.gz    
Issue Links:
Problem/Incident
causes MDEV-13476 TRX_UNDO_PAGE_TYPE mismatch when writ... Closed
is caused by MDEV-12288 Reset DB_TRX_ID when the history is r... Closed
is caused by MDEV-13430 InnoDB upgrade from previous versions... Closed
Relates
relates to MDEV-13269 Upgrade tests for InnoDB undo log Closed

 Description   

Scenario is a part of the undo upgrade tests (MDEV-13269).

  • start an old server with --innodb-change-buffering=none, otherwise defaults;
  • create an InnoDB table, run some DML;
  • SIGKILL server;
  • restart the old server with --innodb-change-buffering=none --innodb-force-recovery=3;
  • shut down the server properly;
  • start the new server on the same datadir with --innodb-read-only;
  • shut down the server
    => observe the failure on shutdown

Reproducible on bb-10.3-monty 6baa5e56f1, with current 10.2 4bca34d8a4d6 and with 10.3.0 as old servers; I didn't try other versions.

The data directory from the old server (10.2 4bca34d8a4), pre-created as described, is attached. To reproduce, start the new server with --innodb-read-only on it.

bb-10.3-monty 6baa5e56f1

2017-08-09  1:06:42 0 [Note] InnoDB: Starting shutdown...
2017-08-09 01:06:42 0x7f2bc00a4700  InnoDB: Assertion failure in file /data/src/bb-10.3-monty/storage/innobase/log/log0lo
g.cc line 2114
InnoDB: Failing assertion: lsn == log_sys->lsn || srv_force_recovery == SRV_FORCE_NO_LOG_REDO
 
#6  0x00005594799e8ca1 in ut_dbg_assertion_failed (expr=0x559479eb6618 "lsn == log_sys->lsn || srv_force_recovery == SRV_FORCE_NO_LOG_REDO", file=0x559479eb5878 "/data/src/bb-10.3-monty/storage/innobase/log/log0log.cc", line=2114) at /data/src/bb-10.3-monty/storage/innobase/ut/ut0dbg.cc:60
#7  0x00005594798639a1 in logs_empty_and_mark_files_at_shutdown () at /data/src/bb-10.3-monty/storage/innobase/log/log0log.cc:2113
#8  0x000055947998ed98 in innodb_shutdown () at /data/src/bb-10.3-monty/storage/innobase/srv/srv0start.cc:2786
#9  0x00005594797c836c in innobase_end () at /data/src/bb-10.3-monty/storage/innobase/handler/ha_innodb.cc:4347
#10 0x00005594794b8fd1 in ha_finalize_handlerton (plugin=0x55947b764768) at /data/src/bb-10.3-monty/sql/handler.cc:452
#11 0x00005594792227ac in plugin_deinitialize (plugin=0x55947b764768, ref_check=true) at /data/src/bb-10.3-monty/sql/sql_plugin.cc:1242
#12 0x0000559479222c32 in reap_plugins () at /data/src/bb-10.3-monty/sql/sql_plugin.cc:1319
#13 0x0000559479224ce0 in plugin_shutdown () at /data/src/bb-10.3-monty/sql/sql_plugin.cc:1986
#14 0x000055947911dbed in clean_up (print_message=true) at /data/src/bb-10.3-monty/sql/mysqld.cc:2206
#15 0x000055947911d7be in unireg_end () at /data/src/bb-10.3-monty/sql/mysqld.cc:2081
#16 0x000055947911d6bb in kill_server (sig_ptr=0x0) at /data/src/bb-10.3-monty/sql/mysqld.cc:2008
#17 0x000055947911d6fd in kill_server_thread (arg=0x7f2bc0181e50) at /data/src/bb-10.3-monty/sql/mysqld.cc:2031
#18 0x00007f2bd781c494 in start_thread (arg=0x7f2bc00a4700) at pthread_create.c:333
#19 0x00007f2bd599493f in clone () from /lib/x86_64-linux-gnu/libc.so.6



 Comments   
Comment by Marko Mäkelä [ 2017-08-10 ]

This regression was caused by MDEV-13430, which skips some redo log processing at startup when the redo log file format differs (and the redo log has been determined to be logically empty).

Generated at Thu Feb 08 08:05:52 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.