Bug #27529 Slave crashes on lots of updates
Submitted: 29 Mar 2007 18:26 Modified: 10 Apr 2007 14:42
Reporter: Geert Vanderkelen
Status: Closed
Category:Server: ClusterRep Severity:S2 (Serious)
Version:5.1 + telco OS:Linux (Linux)
Assigned to: Tomas Ulin Target Version:
Tags: ndb, replication

[29 Mar 2007 18:26] Geert Vanderkelen
Description:
The slave crashes doing lots of updates on the master. You can see it best when you set
the relay log to a small size like 1M.

How to repeat:
- Using 5.1.15_6.1.5 (reported on 5.1.15_6.1.2)
- Configuration can be pretty basic
- Setup Master/Slave Cluster, with row-based replication
- On Slave use this:

server-id = 2
log-bin = slave-log
binlog-format = row
max-relay-log-size=1M

Backtrace:

Program received signal SIGABRT, Aborted.
[Switching to Thread 1086175584 (LWP 20749)]
0x000000324322e37d in raise () from /lib64/tls/libc.so.6
(gdb) bt
#0 0x000000324322e37d in raise () from /lib64/tls/libc.so.6
#1 0x000000324322faae in abort () from /lib64/tls/libc.so.6
#2 0x0000003243227c31 in __assert_fail () from /lib64/tls/libc.so.6
#3 0x000000000063c43f in lock_tables (thd=0xdc3218, tables=0xe65978, count=Variable
"count" is not available.
) at sql_base.cc:6637
#4 0x0000000000645096 in open_and_lock_tables (thd=0xdc3218, tables=0xe65978) at
sql_base.cc:3215
#5 0x00000000006849f3 in mysql_delete (thd=0xdc3218, table_list=0xe65978, conds=Variable
"conds" is not available.
) at sql_delete.cc:43
#6 0x0000000000619871 in mysql_execute_command (thd=0xdc3218) at sql_parse.cc:3588
#7 0x000000000061c6e5 in mysql_parse (thd=0xdc3218, inBuf=0x40bda420 "DELETE FROM
mysql.ndb_binlog_index WHERE File='./ndbsup-2-relay-bin.000005'", length=Variable
"length" is not available.
)
at sql_parse.cc:6162
#8 0x000000000070d521 in run_query (thd=0xdc3218, buf=0x40bda420 "DELETE FROM
mysql.ndb_binlog_index WHERE File='./ndbsup-2-relay-bin.000005'", end=Variable "end" is
not available.
)
at ha_ndbcluster_binlog.cc:239
#9 0x000000000070df84 in ndbcluster_binlog_func (hton=Variable "hton" is not available.
) at ha_ndbcluster_binlog.cc:506
#10 0x00000000006dcfef in binlog_func_foreach (thd=0xdc3218, bfn=0x40bdaa70) at
handler.cc:2978
#11 0x00000000006dd100 in ha_binlog_index_purge_file (thd=Variable "thd" is not
available.
) at handler.cc:3011
#12 0x000000000068d537 in MYSQL_BIN_LOG::purge_logs (this=0xdfa830, to_log=0xdfb7a4
"./ndbsup-2-relay-bin.000007", included=false, need_mutex=false,
need_update_threads=false, decrease_log_space=0xdfbdd0) at mysql_priv.h:536
#13 0x000000000068d894 in MYSQL_BIN_LOG::purge_first_log (this=0xdfa830, rli=0xdfa820,
included=false) at log.cc:2885
#14 0x0000000000758441 in exec_relay_log_event (thd=0xdc3218, rli=0xdfa820) at
slave.cc:3490
#15 0x00000000007591e1 in handle_slave_sql (arg=Variable "arg" is not available.
) at slave.cc:2367
#16 0x0000003243b060aa in start_thread () from /lib64/tls/libpthread.so.0
#17 0x00000032432c5b43 in clone () from /lib64/tls/libc.so.6
#18 0x0000000000000000 in ?? ()

Suggested fix:
Fix already available.
[29 Mar 2007 18:28] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/23339

ChangeSet@1.2451, 2007-03-29 18:42:00+02:00, tomas@whalegate.ndb.mysql.com +1 -0
  Bug #27529: Slave crashes on lots of updates
  - do not try to perge binlog when purge comes from slave, it never purges binlog
anyways
[5 Apr 2007 16:01] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/23901

ChangeSet@1.2131, 2007-04-05 16:15:27+02:00, tomas@whalegate.ndb.mysql.com +1 -0
  Bug#27529 Slave crashes on lots of updates
  - do not execute ndb purge for relay logs
[10 Apr 2007 14:42] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of
that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available
version, including the bug fix. More information about accessing the source trees is
available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented bugfix in 5.1.18, telco-6.1.16, and telco-6.2.1 changelogs.