Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
MDEV-24049 InnoDB: Failing assertion: node->is_open() in fil_space_t:…
…:flush_low As part of MDEV-23855, we eliminated fil_system.LRU and changed the way how InnoDB data files are opened. We are also enforcing the innodb_open_files limit when new data files are created. The function fil_space_t::flush() would be invoked by row_quiesce_table_start(). If the table was already in clean state, it is possible that the data file is not open. fil_space_t::flush_low(): If the data file is not open, check with a debug assertion that there are no unflushed changes, and carry on. Reviewed by: Eugene Kosov and Thirunarayanan Balathandayuthapani
- Loading branch information
Showing
4 changed files
with
41 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| SELECT @@GLOBAL.innodb_open_files; | ||
| @@GLOBAL.innodb_open_files | ||
| 10 | ||
| CREATE TABLE t0 (a INT) ENGINE=InnoDB; | ||
| FLUSH TABLE t0 WITH READ LOCK; | ||
| UNLOCK TABLES; | ||
| CREATE TABLE t1 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t2 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t3 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t4 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t5 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t6 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t7 (a INT) ENGINE=InnoDB; | ||
| FLUSH TABLE t0 WITH READ LOCK; | ||
| UNLOCK TABLES; | ||
| DROP TABLE t0, t1, t2, t3, t4, t5, t6, t7; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| --innodb-open-files=10 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| --source include/have_innodb.inc | ||
|
|
||
| SELECT @@GLOBAL.innodb_open_files; | ||
|
|
||
| CREATE TABLE t0 (a INT) ENGINE=InnoDB; | ||
| # Ensure that the created table t0 is clean. | ||
| FLUSH TABLE t0 WITH READ LOCK; | ||
| UNLOCK TABLES; | ||
| CREATE TABLE t1 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t2 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t3 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t4 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t5 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t6 (a INT) ENGINE=InnoDB; | ||
| CREATE TABLE t7 (a INT) ENGINE=InnoDB; | ||
| # Now, the data file for t0 should not be open anymore. | ||
| FLUSH TABLE t0 WITH READ LOCK; | ||
| UNLOCK TABLES; | ||
| DROP TABLE t0, t1, t2, t3, t4, t5, t6, t7; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters