Opened 5 years ago

Last modified 4 years ago

#2492 new defect

MySQL replication ignoring selected storage engine

Reported by: andrewjcg Owned by:
Priority: minor Milestone: 0.9.+
Version: master Keywords: database
Cc:

Description

I am not 100% sure this is a buildbot problem, but the I'm seeing the following issue:

When using a MySQL backend, buildbot sets the engine storage type using a "SET storage_engine=<type>" command (https://github.com/buildbot/buildbot/blob/master/master/buildbot/db/enginestrategy.py#L113). As per (http://bugs.mysql.com/bug.php?id=41101), MySQL does not record this command to the binlog, so MySQL replication will use the default storage engine on the slave. Since buildbot can't use InnoDB (as per http://buildbot.readthedocs.org/en/v0.8.6/manual/cfg-global.html#mysql), this will break when its set as the default storage engine on the slaves, even when we explicitly set "MyISAM" as the storage engine in the buildbot config.

I *think* this means the engine type should be included on the actual create table query, rather then using 'init_command', as this will get written to the binlog and the slaves will pick this up for replication.

Change History (3)

comment:1 Changed 5 years ago by dustin

We'd like to get to a point where we can use InnoDB, but this wouldn't be a bad change to make in the interim. At the very least, we should document this.

comment:2 Changed 5 years ago by dustin

  • Milestone changed from undecided to 0.8.+

comment:3 Changed 4 years ago by dustin

  • Milestone changed from 0.8.+ to 0.9.+

Ticket retargeted after milestone closed

Note: See TracTickets for help on using tickets.