[MDEV-621] LP:693329 - Assertion `!is_interleave_error' failed on low optimizer_search_depth Created: 2010-12-22 Updated: 2013-05-04 Resolved: 2013-05-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 10.0.1, 5.5.30, 5.3.9, 5.1.67, 5.2.14, 5.3.12 |
| Fix Version/s: | 10.0.3, 5.5.31, 5.1.73, 5.2.15, 5.3.13 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Philip Stoev (Inactive) | Assignee: | Sergei Petrunia |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Description |
|
As already reported in mysql bug http://bugs.mysql.com/bug.php?id=54429 , using low values for optimizer_search_depth causes an easy crash on multiple-table joins. The RQG sometimes generates joins involving many tables. In order to restrict the total optimization time per query, and thus run more queries per test run, optimizer_search_depth must be safe to use and not assert. assertion:
backtrace:
test case:
|
| Comments |
| Comment by Philip Stoev (Inactive) [ 2010-12-22 ] |
|
Re: Assertion `!is_interleave_error' failed on low optimizer_search_depth |
| Comment by Philip Stoev (Inactive) [ 2011-04-06 ] |
|
Re: Assertion `!is_interleave_error' failed on low optimizer_search_depth --source include/have_innodb.inc CREATE TABLE t1 ( f6 int) ENGINE=InnoDB; CREATE TABLE t2 ( f1 int) ; CREATE TABLE t3 ( f4 int) ; CREATE TABLE t4 ( f1 int) ENGINE=InnoDB; CREATE TABLE t5 ( f1 int) ; CREATE TABLE t6 ( f3 int NOT NULL , PRIMARY KEY (f3)) ; SELECT t2.f1 |
| Comment by Philip Stoev (Inactive) [ 2011-04-06 ] |
|
Re: Assertion `!is_interleave_error' failed on low optimizer_search_depth revision-id: psergey@askmonty.org-20110404083808-xc0xr5u0x2nj7q9j |
| Comment by Rasmus Johansson (Inactive) [ 2012-06-04 ] |
|
Launchpad bug id: 693329 |
| Comment by Sergei Petrunia [ 2012-10-31 ] |
|
Not repeatable on the current 5.3 |
| Comment by Sergei Petrunia [ 2012-10-31 ] |
|
The fix from MySQL has been merged+adjusted for table elimination long ago: psergey@askmonty.org-20110111104216-3fyifys406a1mvgf |
| Comment by Sergei Petrunia [ 2012-10-31 ] |
|
Closing, already fixed. |
| Comment by Sergei Petrunia [ 2012-10-31 ] |
|
As pointed out by Elena: The testcase posted by Philip at 2011-04-06 13:49 still fails (the other one wasn't repeatable for me). Re-opening. |
| Comment by Elena Stepanova [ 2013-03-13 ] |
|
The 'upstream' tag has been removed because the upstream bug was fixed quite long time ago. I don't know if the upstream bugfix was correct, but at least the original test case does not cause a crash on mysql-5.5 or mysql-5.6 any longer. I've listed all major versions in the 'Fix version' field, please feel free to adjust if you think it isn't worth fixing in old versions (5.1, 5.2). See also |
| Comment by Sergei Petrunia [ 2013-05-03 ] |
|
The testcase from the report is repeatable on mariadb-5.5 when one has optimizer_switch='table_elimination=on', and not repeatable when table_elimination is off. table_elimination will eliminate one table, alias4. |