List:Replication« Previous MessageNext Message »
From:Graham King Date:March 29 2008 12:16am
Subject:READ-COMMITTED crashes slave in master-master replication
View as plain text  
 I'm running master-master replication with MySQL 5.1.23-rc built from
source, on Solaris x86 (5.10 Generic_120012-14 i86pc i386 i86pc).

 If I run both servers with transaction-isolation REPEATABLE-READ or
SERIALIZABLE the setup works fine and has worked for several weeks.

 If I change to READ-COMMITTED or READ-UNCOMMITTED, enter an INSERT or
UPDATE on one server, the other one dies with a segmentation fault. If
I start it back up it tries to recover by replaying the insert or
update (I think), and dies and restarts in a loop.
 Initially I thought this might be the binlog_format, so I set it to
ROW, bounced the two servers, and the problem remains. Is changing the
entry in my.cnf all I need to do to change the binlog format?

 The relevant lines from the log are:

080328 15:53:26 [Note] Slave SQL thread initialized, starting
replication in log 'mysql-bin.015834' at position 3400, relay log
'/prod/webgroup/local-root/var/slave-relay.018869' position: 580

080328 15:53:26 [Note] Slave I/O thread: connected to master
'rep2_user@stripped:3306',replication started in log
'mysql-bin.015834' at position 3862

080328 15:53:26 - mysqld got signal 11;

This could be because you hit a bug. It is also possible that this binary

or one of the libraries it was linked against is corrupt, improperly built,

or misconfigured. This error can also be caused by malfunctioning hardware.

We will try our best to scrape up some info that will hopefully help diagnose

the problem, but since we have already crashed, something is definitely wrong

and this may fail.



key_buffer_size=16384

read_buffer_size=262144

max_used_connections=0

max_threads=151

threads_connected=0

It is possible that mysqld could use up to

key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 49232 K

bytes of memory

Hope that's ok; if not, decrease some variables in the equation.



 Unfortunately there's no stack trace on Solaris. I have a
mysqld.trace of the server starting up and dying in a loop which is
about 1.5M, on request.

 Has anyone come across this? Is there something in my.cnf that I've
missed? Any and all help much appreciated.

 Thanks in advance,
 Graham
Thread
READ-COMMITTED crashes slave in master-master replicationGraham King29 Mar