[MDEV-7142] main.index_merge_innodb fails sporadically in buildbot with wrong result or timeout Created: 2014-11-19 Updated: 2023-11-29 Resolved: 2023-11-29 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Tests |
| Affects Version/s: | 10.0, 10.1, 10.2 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Sergei Petrunia |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | buildbot, tests | ||
| Issue Links: |
|
||||||||||||||||
| Sprint: | 10.2.1-5 | ||||||||||||||||
| Description |
|
http://buildbot.askmonty.org/buildbot/builders/bintar-rhel7-p8/builds/16/steps/test/logs/stdio
It happens from time to time on different builds. |
| Comments |
| Comment by Sergei Petrunia [ 2014-11-20 ] | |||||||||||||||||||||||||||||||||||
|
I suspect this something that is not a problem of index_merge. index_merge code hasn't been touched in years. Perhaps, innodb started to return different record estimates... elenst, can you track when (at least approximately) this issue started to show up? | |||||||||||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2016-09-05 ] | |||||||||||||||||||||||||||||||||||
|
Debugging this example, in get_best_disjunct_quick The table has 1024 rows. costs of merged index scans are:
After adding costs merging and of using Unique we construct TRP_INDEX_MERGE
There is a huge difference with cost of full scan:
So, this failure doesn't look like an "optimizer switches between two query plans with nearly identical costs" failure. | |||||||||||||||||||||||||||||||||||
| Comment by Sergei Petrunia [ 2016-09-05 ] | |||||||||||||||||||||||||||||||||||
|
The only reason for this failure that I can think of is InnoDB's statistics update being delayed. This will cause the optimizer to see a very low stat_records(), and it will pick full scan instead of index_merge. elenst, feel free to re-open if the issue still shows up. | |||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2016-11-06 ] | |||||||||||||||||||||||||||||||||||
|
It still happens.
Normally we don't re-open issues after (attempted) bugfixes have been released, but since it's just a test, I suppose there is no big harm. | |||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2017-02-08 ] | |||||||||||||||||||||||||||||||||||
|
Still happens, now on 10.2: | |||||||||||||||||||||||||||||||||||
| Comment by Elena Stepanova [ 2017-05-24 ] | |||||||||||||||||||||||||||||||||||
|
It also fails with timeout on valgrind:
| |||||||||||||||||||||||||||||||||||
| Comment by Laurynas Biveinis [ 2017-05-24 ] | |||||||||||||||||||||||||||||||||||
|
My attempt to debug this issue (the original one, not the timeout) has resulted in https://bugs.mysql.com/bug.php?id=84366 (InnoDB index dives do not detect concurrent tree changes, return bogus estimates) | |||||||||||||||||||||||||||||||||||
| Comment by Alice Sherepa [ 2017-09-05 ] | |||||||||||||||||||||||||||||||||||
|
it fails on 10.3 too, now with innodb. http://buildbot.askmonty.org/buildbot/builders/kvm-deb-stretch-x86/builds/1183/steps/mtr/logs/stdio
|