[MDEV-8178] Wrong progress report for operations on InnoDB tables Created: 2015-05-19 Updated: 2015-12-10 Resolved: 2015-12-10 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Data Definition - Alter Table, Storage Engine - InnoDB, Storage Engine - XtraDB |
| Affects Version/s: | 10.0, 10.1 |
| Fix Version/s: | 10.0.23, 10.1.10 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Sergey Vojtovich |
| Resolution: | Fixed | Votes: | 2 |
| Labels: | None | ||
| Sprint: | 10.0.23 |
| Description |
|
Initially reported on the mailing list: https://lists.launchpad.net/maria-discuss/msg02495.html .
Reproducible as described. Dataset: salaries table in the employees sample database. Statements that exhibit the incorrect behaviour:
I also saw the mentioned 350% and some other values, e.g.
MyISAM looks reasonable (2 stages, below 100% progress). Not reproducible on 5.5. |
| Comments |
| Comment by Jiri Kavalik [ 2015-06-19 ] | ||||||||||||||||||||||||||||||||||||
|
After
| ||||||||||||||||||||||||||||||||||||
| Comment by Michaël de groot [ 2015-09-22 ] | ||||||||||||||||||||||||||||||||||||
|
I experienced this (InnoDB, 71 stages, up to 900%) on 10.0.21 as well. | ||||||||||||||||||||||||||||||||||||
| Comment by Jean Weisbuch [ 2015-09-29 ] | ||||||||||||||||||||||||||||||||||||
|
I am hitting this bug on 10.0.21 but with another additional issue : The progress on the CLI starts but after few seconds get stuck and the "STAGE", "MAX_STAGE" and "PROGRESS" columns of "I_S.PROCESSLIST" are all showing 0 for the alter query. Happened with an INDEX creation on an InnoDB table and on a "ALTER TABLE xxx KEY_BLOCK_SIZE=0" (on a table that had "ROW_FORMAT=DYNAMIC" and "KEY_BLOCK_SIZE=8"). | ||||||||||||||||||||||||||||||||||||
| Comment by Christian Rishøj [ 2015-11-17 ] | ||||||||||||||||||||||||||||||||||||
|
Still seeing this on 10.1.8:
| ||||||||||||||||||||||||||||||||||||
| Comment by Tomas Mozes [ 2015-11-30 ] | ||||||||||||||||||||||||||||||||||||
|
Same problem with MariaDB 10.0.22 on Gentoo Linux (amd64). MariaDB [db]> optimize table tbl; MariaDB [db]> optimize table tbl; | ||||||||||||||||||||||||||||||||||||
| Comment by Jan Lindström (Inactive) [ 2015-11-30 ] | ||||||||||||||||||||||||||||||||||||
|
10.1: storage/[xtradb|innobase]/row/row0merge.cc function row_merge_sort line 254 there is thd_progress_init(trx->mysql_thd, num_runs); maybe should make sure that num_runs is correct here. This could be naturally be some other bug... | ||||||||||||||||||||||||||||||||||||
| Comment by Sergey Vojtovich [ 2015-12-09 ] | ||||||||||||||||||||||||||||||||||||
|
jplindst, please review fix for this bug. Even though it fixes described problem, I'd say InnoDB progress report is still misleading: e.g. for given queries row merge takes just ~20 seconds of ~10 minutes, so that one can watch "Stage: 1 of 1 'altering table' 98.7% of stage done" for about 9 remaining minutes. | ||||||||||||||||||||||||||||||||||||
| Comment by Jan Lindström (Inactive) [ 2015-12-09 ] | ||||||||||||||||||||||||||||||||||||
|
What InnoDB or something else is doing those remaining 9 minutes ? | ||||||||||||||||||||||||||||||||||||
| Comment by Sergey Vojtovich [ 2015-12-09 ] | ||||||||||||||||||||||||||||||||||||
|
I didn't analyze it. | ||||||||||||||||||||||||||||||||||||
| Comment by Jan Lindström (Inactive) [ 2015-12-10 ] | ||||||||||||||||||||||||||||||||||||
|
Ok to push. |