alter table disable keys fires assertion in applier

Bug #773205 reported by Teemu Ollakka
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL patches by Codership
Fix Released
High
Teemu Ollakka
0.8
Fix Released
High
Teemu Ollakka
Trunk
Fix Committed
High
Teemu Ollakka
codership-maria
Fix Committed
High
Teemu Ollakka

Bug Description

Debug build, log-bin=mysql-bin set, default table type InnoDB, two nodes running.

Assertion:

mysqld: sql_parse.cc:8366: wsrep_status_t wsrep_bf_apply_rbr(THD*, const uchar*, size_t): Assertion `buf_len != 0 || ((Rows_log_event *) ev)->get_flags(Rows_log_event::STMT_END_F)' failed.

Statements to reproduce:

mysql> drop table if exists foo;
mysql> create table foo (a int);
mysql> alter table foo disable keys;

More details:

The event causing assertion is Query_log_event containing alter table. For some reason this is injected into IO_CACHE on master when binlog is turned on. Seems that other DDLs do not cause the same kind of behaviour. In any case, the assertion is not correct as the type of handled event is not checked.

Actions to take:

Fix assertion and implement deeper inspection of log events. Find out why Query_log_event is injected in IO_CACHE on master and change the behaviour if possible.

Changed in codership-mysql:
status: New → In Progress
importance: Undecided → High
status: In Progress → New
importance: High → Undecided
Changed in codership-maria:
status: New → Fix Committed
assignee: nobody → Teemu Ollakka (teemu-ollakka)
importance: Undecided → High
Changed in codership-mysql:
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.