MySQL database tables are using the MyISAM engine

Bug #741274 reported by justinsb
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Low
Jason Cannavale

Bug Description

MySQL database tables seem to be using the MyISAM engine. They should use InnoDB.

Related branches

Revision history for this message
Jay Pipes (jaypipes) wrote :

Agreed. The way to do this is to use mysql_engine='InnoDB' in the Table constructors. In the case of Nova, a migrate script should be done. Simple enough migrate script, though :) Just make a 0XX_mysql_upgrade.sql script that contains a bunch of these:

ALTER TABLE servers ENGINE=InnoDB;

repeat that for each table in the DB...

Changed in nova:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Jay Pipes (jaypipes) wrote :

Setting to Low instead of Wishlist because this is really a performance/scalability issue. Low because the fix is easy and can be done by a DBA outside of the Nova code as a workaround anyway.

Revision history for this message
Josh Kearney (jk0) wrote :

Looks like they're already set to InnoDB in SA, but apparently not being honored?

jkearney@nova:~/openstack/nova$ bzr blame ./nova/db/sqlalchemy/models.py | grep mysql_eng
237.1.69 vishvan | __table_args__ = {'mysql_engine': 'InnoDB'}
                  | {'mysql_engine': 'InnoDB'})
379.3.1 vishvan | {'mysql_engine': 'InnoDB'})
                  | {'mysql_engine': 'InnoDB'})

Revision history for this message
Jay Pipes (jaypipes) wrote :

If the mysql_engine kwargs was added *after* the db was originally introduced, then migrates scripts are needed. For this, though, no need to create a Python migrate script. Just add a 0XX_mysql_upgrade.sql script that contains the MySQL-specific ALTER TABLE ... ENGINE=InnoDB; statements in it.

Revision history for this message
Josh Kearney (jk0) wrote :

This was on a fresh DB, but the tables are still being set to MyISAM. I don't think the kwargs are being used.

Revision history for this message
Vish Ishaya (vishvananda) wrote : Re: [Bug 741274] Re: MySQL database tables are using the MyISAM engine

Hmm, this definitely used to work, perhaps the switch to db sync broke it.

On Mar 29, 2011, at 10:06 AM, Josh Kearney wrote:

> This was on a fresh DB, but the tables are still being set to MyISAM. I
> don't think the kwargs are being used.
>
> --
> You received this bug notification because you are a member of Nova Bug
> Team, which is subscribed to OpenStack Compute (nova).
> https://bugs.launchpad.net/bugs/741274
>
> Title:
> MySQL database tables are using the MyISAM engine
>
> Status in OpenStack Compute (Nova):
> Triaged
>
> Bug description:
> MySQL database tables seem to be using the MyISAM engine. They should
> use InnoDB.

Changed in nova:
assignee: nobody → Jason Cannavale (jason-cannavale-com)
Changed in nova:
status: Triaged → In Progress
Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → diablo-2
Thierry Carrez (ttx)
Changed in nova:
milestone: diablo-2 → 2011.3
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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