sync level violation with wsrep checkpointing

Bug #1248908 reported by Teemu Ollakka on 2013-11-07
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL patches by Codership
Status tracked in 5.6
5.5
High
Teemu Ollakka
5.6
High
Teemu Ollakka
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC
Status tracked in 5.6
5.5
Fix Released
Undecided
Unassigned
5.6
Fix Released
Undecided
Unassigned

Bug Description

After turning UNIV_SYNC_DEBUG on, node that was started from clean state crashed immediately at startup with:

InnoDB: sync levels should be > 290 but a level is 290
-------------
RW-LATCH INFO
RW-LATCH: 0x7fdbcbd411b0
Locked: thread 140582617687872 file /home/teemu/codership/galera/bzr/codership-mysql/5.6/storage/innobase/include/trx0sys.ic line 103 X-LOCK
Locked: thread 140582617687872 file /home/teemu/codership/galera/bzr/codership-mysql/5.6/storage/innobase/include/trx0sys.ic line 103 X-LOCK
InnoDB: sync_thread_levels_g(array, 290) does not hold!
2013-11-07 12:38:51 7fdbf0fd2740 InnoDB: Assertion failure in thread 140582617687872 in file sync0sync.cc line 1171

The reason is calling trx_sysf_get() twice in succession, first from trx_sys_read_wsrep_checkpoint(), then from trx_sys_update_wsrep_checkpoint().

Similar crash happens when binlog is enabled and trx_sys_update_wsrep_checkpoint() and trx_sys_update_mysql_binlog() are called twice in succession.

This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers