Bug #113819 when use show engine innodb cannot show correct information
Submitted: 31 Jan 7:20 Modified: 9 Feb 19:57
Reporter: xincheng xie Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:8.0.34, 8.0.33 OS:Linux (CentOS Linux release 7.6.1810 (Core) )
Assigned to: CPU Architecture:Any
Tags: show engine innodb status

[31 Jan 7:20] xincheng xie
Description:
HI ,
After i upgrade  mysqld from 5.7.26 to 8.0.34 ,when i use then statement "show engine innodb status " ,the module  FILE I/O is not correct:
--------
FILE I/O
--------
I/O thread 0 state: waiting for completed aio requests ((null))
I/O thread 1 state: waiting for completed aio requests (insert buffer thread)
I/O thread 2 state: waiting for completed aio requests (read thread)
I/O thread 3 state: waiting for completed aio requests (read thread)
I/O thread 4 state: waiting for completed aio requests (read thread)
I/O thread 5 state: waiting for completed aio requests (read thread)
I/O thread 6 state: waiting for completed aio requests (write thread)
I/O thread 7 state: waiting for completed aio requests (write thread)
I/O thread 8 state: waiting for completed aio requests (write thread)

the thread 0 is null !and the variable innodb_write_io_threads is 4,
so this module is not  displaying correctly

How to repeat:
just show engine innodb status
[31 Jan 7:21] xincheng xie
when the mysqld is 5.7.26 ,it display correctly
[31 Jan 8:25] MySQL Verification Team
Hello xincheng xie,

Thank you for the report and feedback.

regards,
Umesh
[31 Jan 8:27] MySQL Verification Team
# I'm not sure this is intended but this behavior(unusual) seen only since 8.0.33+ and prior to that it was fine

 bin/mysql -uroot -S /tmp/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show engine innodb status\G
*************************** 1. row ***************************
.
--------
FILE I/O
--------
I/O thread 0 state: waiting for completed aio requests ((null))

## 8.0.11-8.0.32 i.e. < 8.0.33 version(s)

 bin/mysql -uroot -S /tmp/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.32 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show engine innodb status\G
*************************** 1. row ***************************
.
--------
FILE I/O
--------
I/O thread 0 state: waiting for completed aio requests (insert buffer thread)
[1 Feb 7:24] Marcin Babij
Thank you Xincheng,
This issue is known to us, it was introduced in 8.0.33 by some bugfix.
It will be fixed in 8.0.37 release.
[9 Feb 19:57] Philip Olson
Fixed as of the upcoming MySQL Server 8.0.37 release, and here's the proposed changelog entry from the documentation team:

Results for SHOW ENGINE INNODB STATUS showed an invalid value (NULL) as
the first result.

Thank you for the bug report.