Percona Server with XtraDB

The option "ignore-builtin-innodb" is invalid for Percona Server

Reported by Valentine Gostev on 2011-01-17
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
Critical
Rodrigo Gadea
5.1
Critical
Laurynas Biveinis
5.5
Critical
Rodrigo Gadea

Bug Description

OS: Ubuntu 10.04 x86_64
Percona Server: 5.1.54-rel12.5 (Rev. 188)

Default options were altered with:
ignore-builtin-innodb
plugin-load=innodb=ha_innodb.so
innodb_file_per_table

While issuing SQL statement to create compressed InnoDB table mysql client throws the following error:

mysql> create table t1 (a varchar(20)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1
Current database: test

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR:
Can't connect to the server

mysql>

After specified statement mysql client is n more operable, after restarting mysql client (not the server) - it keeps working.

Please find relevant log entries from daemon logger below:

Jan 18 02:30:31 dev302 mysqld: Version: '5.1.54-rel12.5' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Percona Server (GPL), 12.5 , Revision 188)
Jan 18 02:30:39 dev302 mysqld: 110118 2:30:39 - mysqld got signal 11 ;
Jan 18 02:30:39 dev302 mysqld: This could be because you hit a bug. It is also possible that this binary
Jan 18 02:30:39 dev302 mysqld: or one of the libraries it was linked against is corrupt, improperly built,
Jan 18 02:30:39 dev302 mysqld: or misconfigured. This error can also be caused by malfunctioning hardware.
Jan 18 02:30:39 dev302 mysqld: We will try our best to scrape up some info that will hopefully help diagnose
Jan 18 02:30:39 dev302 mysqld: the problem, but since we have already crashed, something is definitely wrong
Jan 18 02:30:39 dev302 mysqld: and this may fail.
Jan 18 02:30:39 dev302 mysqld:
Jan 18 02:30:39 dev302 mysqld: key_buffer_size=16777216
Jan 18 02:30:39 dev302 mysqld: read_buffer_size=131072
Jan 18 02:30:39 dev302 mysqld: max_used_connections=1
Jan 18 02:30:39 dev302 mysqld: max_threads=151
Jan 18 02:30:39 dev302 mysqld: threads_connected=1
Jan 18 02:30:39 dev302 mysqld: It is possible that mysqld could use up to
Jan 18 02:30:39 dev302 mysqld: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 346599 K
Jan 18 02:30:39 dev302 mysqld: bytes of memory
Jan 18 02:30:39 dev302 mysqld: Hope that's ok; if not, decrease some variables in the equation.
Jan 18 02:30:39 dev302 mysqld:

strace outputs are attached in tar archive. mysqld pid is 972

Related branches

lp:~laurynas-biveinis/percona-server/bug704216-5.1
Merged into lp:percona-server/5.1 at revision 239
Stewart Smith (community): Approve on 2011-06-22
Valentine Gostev: Pending requested 2011-06-21
Valentine Gostev (longbow) wrote :
Vadim Tkachenko (vadim-tk) wrote :

options
ignore-builtin-innodb
 plugin-load=innodb=ha_innodb.so

are not supported in Percona Server and may give unpredictable result.

Percona Server comes with XtraDB ( advanced InnoDB-plugin by default).

Changed in percona-server:
status: New → Invalid
Download full text (3.7 KiB)

Vadim,

I think this is valid bug. Users upgrading MySQL 5.1 with Innodb plugin may
have such lines in my.cnf
and can get crashes.

If Percona Server does not support these options we need error message in
error log and failing to start
but not crash.

On Mon, Jan 17, 2011 at 3:43 PM, Vadim Tkachenko <email address hidden> wrote:

> options
> ignore-builtin-innodb
> plugin-load=innodb=ha_innodb.so
>
> are not supported in Percona Server and may give unpredictable result.
>
> Percona Server comes with XtraDB ( advanced InnoDB-plugin by default).
>
>
> ** Changed in: percona-server
> Status: New => Invalid
>
> --
> You received this bug notification because you are a member of Percona
> developers, which is the registrant for Percona Server.
> https://bugs.launchpad.net/bugs/704216
>
> Title:
> Creation of compressed innodb table fails
>
> Status in Percona Server with XtraDB:
> Invalid
>
> Bug description:
> OS: Ubuntu 10.04 x86_64
> Percona Server: 5.1.54-rel12.5 (Rev. 188)
>
> Default options were altered with:
> ignore-builtin-innodb
> plugin-load=innodb=ha_innodb.so
> innodb_file_per_table
>
> While issuing SQL statement to create compressed InnoDB table mysql
> client throws the following error:
>
> mysql> create table t1 (a varchar(20)) ENGINE=InnoDB ROW_FORMAT=COMPRESSED
> KEY_BLOCK_SIZE=4;
> ERROR 2006 (HY000): MySQL server has gone away
> No connection. Trying to reconnect...
> Connection id: 1
> Current database: test
>
> ERROR 2006 (HY000): MySQL server has gone away
> No connection. Trying to reconnect...
> ERROR 2002 (HY000): Can't connect to local MySQL server through socket
> '/var/run/mysqld/mysqld.sock' (111)
> ERROR:
> Can't connect to the server
>
> mysql>
>
> After specified statement mysql client is n more operable, after
> restarting mysql client (not the server) - it keeps working.
>
> Please find relevant log entries from daemon logger below:
>
> Jan 18 02:30:31 dev302 mysqld: Version: '5.1.54-rel12.5' socket:
> '/var/run/mysqld/mysqld.sock' port: 3306 (Percona Server (GPL), 12.5 ,
> Revision 188)
> Jan 18 02:30:39 dev302 mysqld: 110118 2:30:39 - mysqld got signal 11 ;
> Jan 18 02:30:39 dev302 mysqld: This could be because you hit a bug. It is
> also possible that this binary
> Jan 18 02:30:39 dev302 mysqld: or one of the libraries it was linked
> against is corrupt, improperly built,
> Jan 18 02:30:39 dev302 mysqld: or misconfigured. This error can also be
> caused by malfunctioning hardware.
> Jan 18 02:30:39 dev302 mysqld: We will try our best to scrape up some info
> that will hopefully help diagnose
> Jan 18 02:30:39 dev302 mysqld: the problem, but since we have already
> crashed, something is definitely wrong
> Jan 18 02:30:39 dev302 mysqld: and this may fail.
> Jan 18 02:30:39 dev302 mysqld:
> Jan 18 02:30:39 dev302 mysqld: key_buffer_size=16777216
> Jan 18 02:30:39 dev302 mysqld: read_buffer_size=131072
> Jan 18 02:30:39 dev302 mysqld: max_used_connections=1
> Jan 18 02:30:39 dev302 mysqld: max_threads=151
> Jan 18 02:30:39 dev302 mysqld: threads_connected=1
> Jan 18 02:30:39 dev302 mysqld: It is possible that mysqld could use up to
> Jan 18 02:30:39 dev302 mys...

Read more...

Changed in percona-server:
status: Invalid → Confirmed
importance: Undecided → Low

Marking as critical as upgrade from 5.1 could leave with running wrong innodb and crashes on CREATE TABLE.

Changed in percona-server:
importance: Low → Critical
status: Confirmed → Triaged
Stewart Smith (stewart) on 2011-06-02
Changed in percona-server:
milestone: none → 5.1.58-12.9
summary: - Creation of compressed innodb table fails
+ The option "ignore-builtin-innodb" is invalid for Percona Server

In 5.5 the bug does not exist, as there is no builtin InnoDB to ignore. The option ignore-builtin-innodb is silently ignored by the server, see http://bugs.mysql.com/bug.php?id=61535 .

I made a mistake, for 5.5 the option is supported, effectively amounts to disabling InnoDB. Leaving as "Invalid" for Percona Server 5.5 though, as there is no risk of wrong InnoDB version being used.

On Fri, 17 Jun 2011 09:22:31 -0000, Laurynas Biveinis <email address hidden> wrote:
> I made a mistake, for 5.5 the option is supported, effectively amounts
> to disabling InnoDB. Leaving as "Invalid" for Percona Server 5.5 though,
> as there is no risk of wrong InnoDB version being used.

Should we instead (for 5.5) just ignore the option?

--
Stewart Smith

Stewart, I don't have a strong opinion about the best action for 5.5 and welcome any input from others.

We want to avoid any nasty surprises for the user during the 5.1 -> 5.5 upgrade, and for upstream -> PS upgrade too. For the context, in 5.5 upstream the server with ignore-builtin-innodb will fail to start unless default-storage-engine=MyISAM is given too. Now having these two options already, the only way still to have InnoDB is to have it compiled as plugin and do plugin-load=innodb=ha_innodb.so. (I am not sure if default-storage-engine=MyISAM is still required then for the server to start).

IMHO if user specified ignore-builtin-innodb and default-storage-engine=MyISAM it is pretty clear they do not want InnoDB and we shouldn't ignore ignore-builtin-innodb then. If user with these two options still loads InnoDB in some other way, then maybe doing something about ignore-builtin-innodb makes sense.

My 2c,
Laurynas

Stewart Smith (stewart) wrote :

On Mon, 20 Jun 2011 02:39:49 -0000, Laurynas Biveinis <email address hidden> wrote:
> Stewart, I don't have a strong opinion about the best action for 5.5 and
> welcome any input from others.
>
> We want to avoid any nasty surprises for the user during the 5.1 -> 5.5
> upgrade, and for upstream -> PS upgrade too. For the context, in 5.5
> upstream the server with ignore-builtin-innodb will fail to start unless
> default-storage-engine=MyISAM is given too. Now having these two options
> already, the only way still to have InnoDB is to have it compiled as
> plugin and do plugin-load=innodb=ha_innodb.so. (I am not sure if
> default-storage-engine=MyISAM is still required then for the server to
> start).

Keeping upstream behaviour is okay. We should probably warn in docs however.

--
Stewart Smith

Assigning to Rodrigo to document in 5.5 docs then

This is documented in the upgrading guide (soon to be published after review)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.