mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-33635 innodb.innodb-64k-crash - Found warnings/errors in server log file
- Suppress the "Difficult to find free blocks" warning globally to avoid many different test case failing. - Demote the error information in validate_first_page() to note. So first page can recovered from doublewrite buffer and can throw error in case the page wasn't found in doublewrite buffer.
This commit is contained in:
@ -4510,6 +4510,7 @@ sub extract_warning_lines ($$) {
|
|||||||
qr/WSREP: Failed to guess base node address/,
|
qr/WSREP: Failed to guess base node address/,
|
||||||
qr/WSREP: Guessing address for incoming client/,
|
qr/WSREP: Guessing address for incoming client/,
|
||||||
|
|
||||||
|
qr/InnoDB: Difficult to find free blocks in the buffer pool*/,
|
||||||
# for UBSAN
|
# for UBSAN
|
||||||
qr/decimal\.c.*: runtime error: signed integer overflow/,
|
qr/decimal\.c.*: runtime error: signed integer overflow/,
|
||||||
# Disable test for UBSAN on dynamically loaded objects
|
# Disable test for UBSAN on dynamically loaded objects
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
call mtr.add_suppression("InnoDB: Difficult to find free blocks in the buffer pool");
|
|
||||||
SET @saved_debug = @@SESSION.debug_dbug;
|
SET @saved_debug = @@SESSION.debug_dbug;
|
||||||
SET SESSION debug_dbug="+d,ib_lru_force_no_free_page";
|
SET SESSION debug_dbug="+d,ib_lru_force_no_free_page";
|
||||||
CREATE TABLE t1 (j LONGBLOB) ENGINE = InnoDB;
|
CREATE TABLE t1 (j LONGBLOB) ENGINE = InnoDB;
|
||||||
|
@ -90,7 +90,7 @@ SELECT * FROM INFORMATION_SCHEMA.ENGINES
|
|||||||
WHERE engine = 'innodb'
|
WHERE engine = 'innodb'
|
||||||
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||||
FOUND 1 /\[ERROR\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
|
FOUND 1 /\[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
|
||||||
FOUND 1 /\[ERROR\] InnoDB: Datafile .*u1.*\. Cannot determine the space ID from the first 64 pages/ in mysqld.1.err
|
FOUND 1 /\[ERROR\] InnoDB: Datafile .*u1.*\. Cannot determine the space ID from the first 64 pages/ in mysqld.1.err
|
||||||
NOT FOUND /\[Note\] InnoDB: Cannot read first page of .*u2.ibd/ in mysqld.1.err
|
NOT FOUND /\[Note\] InnoDB: Cannot read first page of .*u2.ibd/ in mysqld.1.err
|
||||||
# Fault 7: Missing or wrong data file and innodb_force_recovery
|
# Fault 7: Missing or wrong data file and innodb_force_recovery
|
||||||
@ -99,11 +99,11 @@ SELECT * FROM INFORMATION_SCHEMA.ENGINES
|
|||||||
WHERE engine = 'innodb'
|
WHERE engine = 'innodb'
|
||||||
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||||
FOUND 1 /\[ERROR\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
|
FOUND 1 /\[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
|
||||||
FOUND 1 /InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace/ in mysqld.1.err
|
FOUND 1 /InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace/ in mysqld.1.err
|
||||||
FOUND 1 /\[ERROR\] InnoDB: Cannot replay rename of tablespace \d+ from '.*u4.ibd' to '.*u6.ibd' because the target file exists/ in mysqld.1.err
|
FOUND 1 /\[ERROR\] InnoDB: Cannot replay rename of tablespace \d+ from '.*u4.ibd' to '.*u6.ibd' because the target file exists/ in mysqld.1.err
|
||||||
# restart: --innodb-force-recovery=1
|
# restart: --innodb-force-recovery=1
|
||||||
FOUND 1 /\[ERROR\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
|
FOUND 1 /\[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd/ in mysqld.1.err
|
||||||
FOUND 1 /InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace/ in mysqld.1.err
|
FOUND 1 /InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace/ in mysqld.1.err
|
||||||
FOUND 1 /\[Warning\] InnoDB: Tablespace \d+ was not found at .*u[1-5].ibd, and innodb_force_recovery was set. All redo log for this tablespace will be ignored!/ in mysqld.1.err
|
FOUND 1 /\[Warning\] InnoDB: Tablespace \d+ was not found at .*u[1-5].ibd, and innodb_force_recovery was set. All redo log for this tablespace will be ignored!/ in mysqld.1.err
|
||||||
# restart
|
# restart
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
--source include/have_debug.inc
|
--source include/have_debug.inc
|
||||||
--source include/not_embedded.inc
|
--source include/not_embedded.inc
|
||||||
|
|
||||||
call mtr.add_suppression("InnoDB: Difficult to find free blocks in the buffer pool");
|
|
||||||
|
|
||||||
SET @saved_debug = @@SESSION.debug_dbug;
|
SET @saved_debug = @@SESSION.debug_dbug;
|
||||||
SET SESSION debug_dbug="+d,ib_lru_force_no_free_page";
|
SET SESSION debug_dbug="+d,ib_lru_force_no_free_page";
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ EOF
|
|||||||
--source include/start_mysqld.inc
|
--source include/start_mysqld.inc
|
||||||
eval $check_no_innodb;
|
eval $check_no_innodb;
|
||||||
|
|
||||||
let SEARCH_PATTERN= \[ERROR\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
|
let SEARCH_PATTERN= \[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
|
||||||
--source include/search_pattern_in_file.inc
|
--source include/search_pattern_in_file.inc
|
||||||
|
|
||||||
let SEARCH_PATTERN= \[ERROR\] InnoDB: Datafile .*u1.*\. Cannot determine the space ID from the first 64 pages;
|
let SEARCH_PATTERN= \[ERROR\] InnoDB: Datafile .*u1.*\. Cannot determine the space ID from the first 64 pages;
|
||||||
@ -243,7 +243,7 @@ let SEARCH_PATTERN= \[Note\] InnoDB: Cannot read first page of .*u2.ibd;
|
|||||||
--source include/start_mysqld.inc
|
--source include/start_mysqld.inc
|
||||||
eval $check_no_innodb;
|
eval $check_no_innodb;
|
||||||
|
|
||||||
let SEARCH_PATTERN= \[ERROR\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
|
let SEARCH_PATTERN= \[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
|
||||||
--source include/search_pattern_in_file.inc
|
--source include/search_pattern_in_file.inc
|
||||||
|
|
||||||
let SEARCH_PATTERN= InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace;
|
let SEARCH_PATTERN= InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace;
|
||||||
@ -256,7 +256,7 @@ let SEARCH_PATTERN= \[ERROR\] InnoDB: Cannot replay rename of tablespace \d+ fro
|
|||||||
|
|
||||||
--source include/restart_mysqld.inc
|
--source include/restart_mysqld.inc
|
||||||
|
|
||||||
let SEARCH_PATTERN= \[ERROR\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
|
let SEARCH_PATTERN= \[Note\] InnoDB: Header page consists of zero bytes in datafile: .*u1.ibd;
|
||||||
--source include/search_pattern_in_file.inc
|
--source include/search_pattern_in_file.inc
|
||||||
|
|
||||||
let SEARCH_PATTERN= InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace;
|
let SEARCH_PATTERN= InnoDB: At LSN: \d+: unable to open file .*u[1-5].ibd for tablespace;
|
||||||
|
@ -538,9 +538,10 @@ Datafile::validate_first_page(lsn_t* flush_lsn)
|
|||||||
|
|
||||||
if (error_txt != NULL) {
|
if (error_txt != NULL) {
|
||||||
err_exit:
|
err_exit:
|
||||||
sql_print_error("InnoDB: %s in datafile: %s, Space ID: %zu, "
|
sql_print_information(
|
||||||
"Flags: %zu", error_txt, m_filepath,
|
"InnoDB: %s in datafile: %s, Space ID: %zu, "
|
||||||
m_space_id, m_flags);
|
"Flags: %zu", error_txt, m_filepath,
|
||||||
|
m_space_id, m_flags);
|
||||||
m_is_valid = false;
|
m_is_valid = false;
|
||||||
free_first_page();
|
free_first_page();
|
||||||
return(DB_CORRUPTION);
|
return(DB_CORRUPTION);
|
||||||
|
Reference in New Issue
Block a user