Bug #78401 | "ANALYZE TABLE" may assign temporary values to table stats during its execution | ||
---|---|---|---|
Submitted: | 10 Sep 2015 20:56 | Modified: | 11 Sep 2015 19:38 |
Reporter: | Yura Sorokin (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
Version: | 5.6, 5.6.26 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[10 Sep 2015 20:56]
Yura Sorokin
[10 Sep 2015 20:59]
Yura Sorokin
Test case file
Attachment: analyze_table_corrupted_stats.test (application/octet-stream, text), 2.95 KiB.
[10 Sep 2015 20:59]
Yura Sorokin
Test results file
Attachment: analyze_table_corrupted_stats.result (application/octet-stream, text), 1.49 KiB.
[10 Sep 2015 21:00]
Yura Sorokin
dict0stats.cc with new debug sync point
Attachment: dict0stats.cc (text/plain), 121.25 KiB.
[10 Sep 2015 21:08]
Yura Sorokin
"--sleep 2" in the "analyze_table_corrupted_stats.test" is only needed to make "./mtr analyze_table_corrupted_stats --debug-sync-timeout=0" run. If this bug is approved, then this test case can be added directly to "mysql-test". Just remove "--sleep 2" and uncomment "#--source include/have_debug_sync.inc" before adding to the source control.
[11 Sep 2015 6:27]
MySQL Verification Team
Hello Yura Sorokin, Thank you for the report and test case. Thanks, Umesh
[11 Sep 2015 19:38]
Yura Sorokin
In this particular case the number of "Merge_passes" directly depends on the result of "ha_innobase::estimate_rows_upper_bound()" which in turn depends on the approximate number of leaf pages in the index tree "stat_n_leaf_pages".