Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.5, 10.6, 10.11, 10.6.12, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 11.0(EOL)
Description
origin/bb-10.6-MDEV-29835 d6e7778287be2f0be9828587d113d5a3df58369d 2023-01-11T17:34:21+02:00
|
Per Marko also valid for official trees.
|
|
Scenario:
|
1. Start the server with --mysqld=--innodb-encrypt-log --mysqld=--innodb-encrypt-tables
|
and generate some initial data.
|
2. One session runs a DDL/DML mix.
|
3. During 2. is ongoing kill the server
|
4. Try a restart
|
# 2023-01-11T15:50:00 [41620] | [rr 148592 9069]2023-01-11 15:48:45 0 [Note] InnoDB: Starting final batch to recover 1684 pages from redo log.
|
# 2023-01-11T15:50:00 [41620] | [rr 148592 11804]2023-01-11 15:48:45 0 [ERROR] InnoDB: OPT_PAGE_CHECKSUM mismatch on [page id: space=46, page number=839]
|
# 2023-01-11T15:50:00 [41620] | [rr 148592 11808]2023-01-11 15:48:45 0 [ERROR] InnoDB: Set innodb_force_recovery=1 to ignore corruption.
|
# 2023-01-11T15:50:00 [41620] | [rr 148592 11812]2023-01-11 15:48:45 0 [ERROR] InnoDB: Unable to apply log to corrupted page [page id: space=46, page number=839]; set innodb_force_recovery to ignore
|
# 2023-01-11T15:50:00 [41620] | [rr 148592 23584]2023-01-11 15:48:49 0 [ERROR] InnoDB: Plugin initialization aborted at srv0start.cc[1496] with error Data structure corruption
|
|
pluto:/data/results/1673451681/TBR-1283--TBR-1646
|
_RR_TRACE_DIR=./1/rr/ rr replay --mark-stdio mysqld-1
|
# Fate of the server till the intentional kill
|
1/fbackup/
|
# File backup of the server data directory (made direct after the kill)
|
_RR_TRACE_DIR=./1/rr/ rr replay --mark-stdio
|
# Fate of the server during the restart
|
|
RQG
|
===
|
# git clone https://github.com/mleich1/rqg --branch <pick the right branch> RQG
|
#
|
# GIT_SHOW: HEAD -> master, origin/master, origin/HEAD 2d66adf87b35c65c844dc849daae068d5d15c34b 2023-01-09T19:20:34+01:00
|
# rqg.pl : Version 4.2.1 (2022-12)
|
#
|
# $RQG_HOME/rqg.pl \
|
# --grammar=conf/mariadb/innodb_compression_encryption.yy \
|
# --gendata=conf/mariadb/innodb_compression_encryption.zz \
|
# --max_gd_duration=1800 \
|
# --mysqld=--innodb-encrypt-log \
|
# --mysqld=--innodb-encrypt-tables \
|
# --reporters=CrashRecovery \
|
# --mysqld=--loose-innodb_lock_schedule_algorithm=fcfs \
|
# --mysqld=--loose-idle_write_transaction_timeout=0 \
|
# --mysqld=--loose-idle_transaction_timeout=0 \
|
# --mysqld=--loose-idle_readonly_transaction_timeout=0 \
|
# --mysqld=--connect_timeout=60 \
|
# --mysqld=--interactive_timeout=28800 \
|
# --mysqld=--slave_net_timeout=60 \
|
# --mysqld=--net_read_timeout=30 \
|
# --mysqld=--net_write_timeout=60 \
|
# --mysqld=--loose-table_lock_wait_timeout=50 \
|
# --mysqld=--wait_timeout=28800 \
|
# --mysqld=--lock-wait-timeout=86400 \
|
# --mysqld=--innodb-lock-wait-timeout=50 \
|
# --no-mask \
|
# --queries=10000000 \
|
# --seed=random \
|
# --reporters=Backtrace \
|
# --reporters=ErrorLog \
|
# --reporters=Deadlock \
|
# --validators=None \
|
# --mysqld=--log_output=none \
|
# --mysqld=--log_bin_trust_function_creators=1 \
|
# --mysqld=--loose-debug_assert_on_not_freed_memory=0 \
|
# --engine=InnoDB \
|
# --restart_timeout=240 \
|
# --mysqld=--plugin-load-add=file_key_management.so \
|
# --mysqld=--loose-file-key-management-filename=$RQG_HOME/conf/mariadb/encryption_keys.txt \
|
# --mysqld=--plugin-load-add=provider_lzo.so \
|
# --mysqld=--plugin-load-add=provider_bzip2.so \
|
# --mysqld=--plugin-load-add=provider_lzma.so \
|
# --mysqld=--plugin-load-add=provider_snappy.so \
|
# --mysqld=--plugin-load-add=provider_lz4.so \
|
# --duration=300 \
|
# --mysqld=--loose-innodb_fatal_semaphore_wait_threshold=300 \
|
# --mysqld=--loose-innodb_read_only_compressed=OFF \
|
# --mysqld=--loose-innodb-sync-debug \
|
# --mysqld=--innodb_stats_persistent=off \
|
# --mysqld=--innodb_adaptive_hash_index=off \
|
# --mysqld=--log-bin \
|
# --mysqld=--sync-binlog=1 \
|
# --mysqld=--loose-innodb_evict_tables_on_commit_debug=off \
|
# --mysqld=--loose-max-statement-time=30 \
|
# --threads=1 \
|
# --mysqld=--innodb-use-native-aio=0 \
|
# --mysqld=--loose-gdb \
|
# --mysqld=--loose-debug-gdb \
|
# --rr=Extended \
|
# --rr_options=--chaos --wait \
|
# --mysqld=--innodb_undo_tablespaces=3 \
|
# --mysqld=--innodb_undo_log_truncate=ON \
|
# --mysqld=--loose_innodb_change_buffering=inserts \
|
# --mysqld=--innodb_rollback_on_timeout=OFF \
|
# --mysqld=--innodb_page_size=16K \
|
# --mysqld=--innodb-buffer-pool-size=256M \
|
# <local settings>
|
Attachments
Issue Links
- is caused by
-
MDEV-15528 Avoid writing freed InnoDB pages
- Closed
-
MDEV-21174 Refactor mlog_write_ulint, mlog_memset, mlog_write_string
- Closed
- relates to
-
MDEV-18976 Implement a CHECKSUM redo log record for improved validation
- Closed