Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.1.20
-
None
-
10.1.29
Description
ALTER TABLE ... DISCARD TABLESPACE takes a lot of time with large buffer pool (>128G).
Steps to reproduce:
1. drop / create an InnoDB table
2. discard the table space
3. increase the buffer pool size.
4. Re-try once you have a 128G+ buffer pool, and re-run #1 & #2.
The discard time should be increasing.
Attachments
Issue Links
- causes
-
MDEV-16759 InnoDB: Assertion failure in thread 139946191502080 in file row0ins.cc line 285
-
- Closed
-
- is part of
-
MDEV-16283 ALTER TABLE...DISCARD TABLESPACE still takes long on a large buffer pool
-
- Closed
-
- relates to
-
MDEV-14263 FLUSH TABLES FOR EXPORT may write the same pages multiple times
-
- Confirmed
-
-
MDEV-9459 Truncate table causes innodb stalls
-
- Closed
-
-
MDEV-14310 Possible corruption by table-rebuilding or index-creating ALTER TABLE…ALGORITHM=INPLACE
-
- Closed
-
The original fix (
MDEV-13328) was that we would not evict the pages of the discarded tablespace from the buffer pool; we would do that on a subsequent IMPORT TABLESPACE only. But, we would still scan the buffer pool for adaptive hash index entries, to drop them. It actually suffices to drop the adaptive hash index entries on IMPORT TABLESPACE or on DROP TABLE or DROP INDEX. And there is no need to scan the buffer pool if index->search_info->ref_count==0 for all indexes of the table.MDEV-16283implemented these fixes.