[MDEV-2159] LP:719280 - Another instance of Assertion `outer_lookup_keys <= outer_record_count' failed Created: 2011-02-15 Updated: 2015-02-02 Resolved: 2012-10-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Philip Stoev (Inactive) | Assignee: | Timour Katchaounov (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
Even after the fix for bug 714808 , the assertion still appears on certain queries. mysqld: opt_subselect.cc:3747: bool JOIN::choose_subquery_plan(table_map): Assertion `outer_lookup_keys <= outer_record_count' failed. backtrace: #8 0x006b0d98 in __assert_fail () from /lib/libc.so.6 bzr version-info: revision-id: <email address hidden> |
| Comments |
| Comment by Philip Stoev (Inactive) [ 2011-02-15 ] |
|
Re: Another instance of Assertion `outer_lookup_keys <= outer_record_count' failed To reproduce, mount the attached vardir using MTR: MTR_VERSION=1 perl mysql-test-run.pl --start-and-exit --start-dirty --vardir= ... 1st and then use the mysql client to run the following query: SELECT alias1.col_int_key FROM ( SELECT SQ1_alias2.* FROM t1 RIGHT JOIN t3 AS SQ1_alias2 RIGHT JOIN t1 AS SQ1_alias3 ON SQ1_alias3.col_int_nokey = SQ1_alias2.col_int_key ON SQ1_alias3.col_int_key = SQ1_alias2.col_int_nokey ) AS alias1 JOIN ( t3 AS alias2 STRAIGHT_JOIN t1 AS alias3 ON alias3.col_int_key = alias2.pk ) ON alias3.col_varchar_key WHERE ( alias1.col_varchar_key , alias3.col_varchar_key ) IN ( SELECT SQ2_alias1.col_varchar_nokey , SQ2_alias2.col_varchar_nokey FROM t1 AS SQ2_alias1 JOIN t2 AS SQ2_alias2 ON SQ2_alias2.col_varchar_key ); |
| Comment by Philip Stoev (Inactive) [ 2011-02-15 ] |
|
Unfortunately, this bug is not repeatable with a standalone MTR test case and only partial simplification of the crashing query was possible. The reason may be that repeated crashes have caused a particular table configuration that is not repeatable when starting with a fresh server. To reproduce, mount the attached vardir using MTR: MTR_VERSION=1 perl mysql-test-run.pl --start-and-exit --start-dirty --vardir= ... 1st and then use the mysql client to run the following query: SELECT alias1.col_int_key FROM ( SELECT SQ1_alias2.* FROM t1 RIGHT JOIN t3 AS SQ1_alias2 RIGHT JOIN t1 AS SQ1_alias3 ON SQ1_alias3.col_int_nokey = SQ1_alias2.col_int_key ON SQ1_alias3.col_int_key = SQ1_alias2.col_int_nokey ) AS alias1 JOIN ( t3 AS alias2 STRAIGHT_JOIN t1 AS alias3 ON alias3.col_int_key = alias2.pk ) ON alias3.col_varchar_key WHERE ( alias1.col_varchar_key , alias3.col_varchar_key ) IN ( SELECT SQ2_alias1.col_varchar_nokey , SQ2_alias2.col_varchar_nokey FROM t1 AS SQ2_alias1 JOIN t2 AS SQ2_alias2 ON SQ2_alias2.col_varchar_key ); vardir , core , binary |
| Comment by Philip Stoev (Inactive) [ 2011-02-15 ] |
|
Re: Another instance of Assertion `outer_lookup_keys <= outer_record_count' failed |
| Comment by Philip Stoev (Inactive) [ 2011-02-15 ] |
|
MTR test case that leads to the same assertion. Unfortunately quite unsimplified and involving views inside subqueries. |
| Comment by Timour Katchaounov (Inactive) [ 2011-02-15 ] |
|
Re: Another instance of Assertion `outer_lookup_keys <= outer_record_count' failed SELECT alias1.col_varchar_key |
| Comment by Rasmus Johansson (Inactive) [ 2011-02-15 ] |
|
Launchpad bug id: 719280 |