Bug #100030 innodb.i_s_files_debug may get stuck if some test cases don't clean environment
Submitted: 29 Jun 2020 9:37 Modified: 29 Jun 2020 10:09
Reporter: Ceit Zhang Email Updates:
Status: Verified Impact on me:
None 
Category:Tools: MTR / mysql-test-run Severity:S7 (Test Cases)
Version:5.7.29, 5.7.30 OS:Any (CentOS 7.4)
Assigned to: CPU Architecture:Any (8Uxeon 16G memoy)

[29 Jun 2020 9:37] Ceit Zhang
Description:
If the executed test cases don't clean up the environment well(e.g. drop test tables), i_s_files_debug will get a timeout error about debug sync.
The following mtr case create some tables before i_s_files_debug to simulate above case.

How to repeat:
--source include/have_innodb.inc
--source include/have_debug_sync.inc
--source include/count_sessions.inc

--disable_query_log
--let $i=100
while($i != 0)
{
  eval create table t$i(pk int);
  dec $i;
}
--enable_query_log

--echo #
--echo # Bug#23477214 RACE CONDITION BETWEEN FIL_IBD_CREATE()
--echo # AND SELECT * FROM I_S.FILES
--echo #
--connect (con1,localhost,root,,)
SET DEBUG_SYNC='fil_ibd_created_space SIGNAL halfway WAIT_FOR done';
--send CREATE TABLESPACE t ADD DATAFILE 't.ibd'
--connection default

SET DEBUG_SYNC='now WAIT_FOR halfway';
SELECT file_type FROM INFORMATION_SCHEMA.FILES WHERE tablespace_name='t';
SET DEBUG_SYNC='now SIGNAL done';

--connection con1
--reap
--disconnect con1

--connection default
SELECT file_type FROM INFORMATION_SCHEMA.FILES WHERE tablespace_name='t';
DROP TABLESPACE t;

--source include/wait_until_count_sessions.inc
[29 Jun 2020 10:09] MySQL Verification Team
Hello Ceit Zhang,

Thank you for the report and modified mtr test case.
Observed that 5.7.30 is affected.

regards,
Umesh