[InnoDB] Assertion failure: ut0ut.cc:553 thread 140235111884544【筆記】
APPLIES TO:
MySQL Server - Version 8.0 and later
Information in this document applies to any platform.
SYMPTOMS
On : 8.0 version, Server Crash
ERROR
-----------------------
STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Have a high load of transactions on the server
2. The page cleaner gets overloaded
3. At least one innodb page gets truncated from the undo log pages
BUSINESS IMPACT
-----------------------
The issue has the following business impact:
Due to this issue, users cannot trust the server under load without corruption.
CAUSE
A transaction was still active on the table mentioned, however, may not have been required for some time after, or simply the data was on a different page to when the truncation occurred.
Once the truncated page was attempted to be accessed, it was recognised as corrupted and the messages shown in the error log and then the final assertion to avoid any further corruption.
There were large data reads and purging based on end-of-month processes.
Corruption shows up in the mysqld error log like:
2021-08-31T20:03:20.817267-04:00 1960210 [ERROR] [MY-013183] [InnoDB] Assertion failure: ut0ut.cc:553 thread 139840586462976
The ut0ut line shows that an assertion failure was thrown simply because it was unable to read all the required data from the page of the tablespace.
Multiple times in the log there are the following lines relating to truncating UNDO tablespace files.
This only happens in relation to the trx0trx.cc code which is for handling transactions.
2021-08-31T01:33:04.157713-04:00 0 [Note] [MY-011953] [InnoDB] Page cleaner took 20524ms to flush 2002 and evict 0 pages
2021-08-31T01:34:16.779531-04:00 0 [Note] [MY-011953] [InnoDB] Page cleaner took 23558ms to flush 2002 and evict 0 pages
2021-08-31T01:39:57.091897-04:00 0 [Note] [MY-011953] [InnoDB] Page cleaner took 5213ms to flush 2002 and evict 0 pages
2021-08-31T01:40:31.821776-04:00 0 [Note] [MY-011953] [InnoDB] Page cleaner took 15728ms to flush 2002 and evict 0 pages
2021-08-31T01:41:29.927435-04:00 0 [Note] [MY-011953] [InnoDB] Page cleaner took 9172ms to flush 2002 and evict 0 pages
2021-08-31T02:17:48.360155-04:00 0 [Note] [MY-012994] [InnoDB] Truncating UNDO tablespace innodb_undo_002
2021-08-31T02:17:48.373022-04:00 0 [Note] [MY-013000] [InnoDB] Completed truncate of undo tablespace innodb_undo_002.
2021-08-31T02:18:01.107204-04:00 0 [Note] [MY-012994] [InnoDB] Truncating UNDO tablespace undo_003
2021-08-31T02:18:01.119293-04:00 0 [Note] [MY-013000] [InnoDB] Completed truncate of undo tablespace undo_003.
2021-08-31T02:18:12.133887-04:00 0 [Note] [MY-012994] [InnoDB] Truncating UNDO tablespace undo_004
2021-08-31T02:18:12.146118-04:00 0 [Note] [MY-013000] [InnoDB] Completed truncate of undo tablespace undo_004.
2021-08-31T02:18:20.764099-04:00 0 [Note] [MY-012994] [InnoDB] Truncating UNDO tablespace innodb_undo_001
2021-08-31T02:18:20.775965-04:00 0 [Note] [MY-013000] [InnoDB] Completed truncate of undo tablespace innodb_undo_001.
This is explained in the following bug:
Bug.33162828: INNODB: Assertion failure: ut0ut.cc:552
SOLUTION
To implement the solution, please execute the following steps:
1. Download and review the release notes for the 8.0.27 version or higher.
2. Ensure that you have taken a backup of your system before upgrading.
3. Apply the upgrade in a test environment, if possible.
4. Retest the issue.
5. Migrate the solution as appropriate to other environments.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29863023/viewspace-2843750/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Assertion failure 錯誤AI
- Assertion failure in -[UICollectionViewData validateLayoutInRect:]AIUIView
- ORA-29516: Aurora assertion failure: Assertion failure at joez.c:3311AI
- Assertion failure in -[UITableView -configureCellForDisplay:forIndexPath:]AIUIViewIndex
- 轉:Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:]AIUIViewIndex
- ASSERTION FAILED: TLS ALLOCATOR ALLOC_TEMP_THREAD...AITLSthread
- 知識點筆記之innodb_thread_concurrency/straight_join/rand筆記threadAI
- InnoDB文件筆記(一)筆記
- MySQL 8.0 Reference Manual(讀書筆記73節--Thread Concurrency for InnoDB and I/O Threads)MySql筆記thread
- InnoDB文件筆記(二)—— Redo Log筆記
- InnoDB文件筆記(三)—— Undo Log筆記
- MYSQL INNODB innodb_thread_concurrency相關引數理解MySqlthread
- 遭遇 bug InnoDB: Failing assertion: page_get_n_recs(page) > 1AI
- MySQL:Innodb恢復的學習筆記MySql筆記
- innodb學習筆記(一) aio的使用筆記AI
- InnoDB儲存引擎——Master Thread工作方式儲存引擎ASTthread
- MySQL提升筆記(4)InnoDB儲存結構MySql筆記
- MySQL核心InnoDB儲存引擎(卷1)筆記MySql儲存引擎筆記
- (RT-Thread學習筆記1)基於 CubeMX 移植 RT-Thread Nanothread筆記NaN
- muduo網路庫學習筆記(3):Thread類筆記thread
- 學習筆記:InnoDB表和索引結構(二)筆記索引
- 學習筆記:InnoDB表和索引結構(一)筆記索引
- MySQL innodb 事務的實現(看書筆記)MySql筆記
- innodb_thread_concurrency引數的建議配置thread
- Mysql技術內幕InnoDB儲存引擎讀書筆記--《二》InnoDB儲存引擎MySql儲存引擎筆記
- rt-thread學習筆記——8、建立訊號量thread筆記
- 2018.03.12、Java-Thread學習筆記Javathread筆記
- vulnhub - ASSERTION1.0.1
- 【Mysql】讀書筆記之--innodb_buffer_pool記憶體的管理MySql筆記記憶體
- MySQL 8.0 Reference Manual(讀書筆記63節--InnoDB Locking)MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記80節-- InnoDB Row Formats)MySql筆記ORM
- 練習使用list failure,advise failure; repair failure;AI
- 學習筆記:InnoDB儲存結構及多版本實現筆記
- MySQL 8.0 Reference Manual(讀書筆記75節--Optimizer Statistics for InnoDB (1))MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記76節--Optimizer Statistics for InnoDB (2))MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記57節--Optimizing for InnoDB Tables)MySql筆記
- Failure is not fatal, but failure to change might be.AI
- RT-Thread學習筆記2-互斥量與訊號量thread筆記