Details
Description
Sysbench data load crashes Galera secondary node in async master (mariadb server) > slave (Galera node1) setup
Error info
10.8.3 1596ef738c63b7b40a76ba75264a70644fdb7e51 (Debug) |
2022-03-14 12:11:20 7 [Note] WSREP: Apply TO END: 24: CREATE TABLE sbtest14(
|
id INTEGER NOT NULL AUTO_INCREMENT,
|
k INTEGER DEFAULT '0' NOT NULL,
|
c CHAR(120) DEFAULT '' NOT NULL,
|
pad CHAR(60) DEFAULT '' NOT NULL,
|
PRIMARY KEY (id)
|
) /*! ENGINE = innodb */
|
2022-03-14 12:11:20 7 [Note] WSREP: Set WSREPXid for InnoDB: b2ea5b48-a361-11ec-a253-965dbcf44208:24
|
2022-03-14 12:11:20 6 [Note] WSREP: wsrep_before_prepare: 1
|
2022-03-14 12:11:20 6 [Note] WSREP: wsrep_after_prepare: 1
|
2022-03-14 12:11:20 6 [Note] WSREP: wsrep_before_commit: 1, 25
|
2022-03-14 12:11:20 6 [Note] WSREP: wsrep_ordered_commit: 1
|
2022-03-14 12:11:20 6 [ERROR] mysqld: Error writing file 'binlog' (errno: 1950 "Unknown error 1950")
|
2022-03-14 12:11:20 6 [Note] WSREP: log_and_order has failed 6 0
|
mysqld: /test/10.8_dbg/wsrep-lib/src/transaction.cpp:659: int wsrep::transaction::before_rollback(): Assertion `state() == s_executing || state() == s_preparing || state() == s_prepared || state() == s_must_abort
|
|| state() == s_aborting || state() == s_cert_failed || state() == s_must_replay' failed.
|
220314 12:11:20 [ERROR] mysqld got signal 6 ;
|
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.
|
|
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
|
|
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.
|
Test case
GALERA_BASE=/home/ramesh/rpl/mariadb-10.8.3-linux-x86_64_one
|
RPL_BASE=/home/ramesh/rpl/mariadb-10.8.3-linux-x86_64_two
|
DATADIR=/home/ramesh/rpl
|
|
rm -Rf $DATADIR/node* $DATADIR/data
|
|
$GALERA_BASE/scripts/mariadb-install-db --no-defaults --force --auth-root-authentication-method=normal --basedir=$GALERA_BASE --datadir=$DATADIR/node1
|
$GALERA_BASE/scripts/mariadb-install-db --no-defaults --force --auth-root-authentication-method=normal --basedir=$GALERA_BASE --datadir=$DATADIR/node2
|
$RPL_BASE/scripts/mariadb-install-db --no-defaults --force --auth-root-authentication-method=normal --basedir=$RPL_BASE --datadir=$DATADIR/data
|
|
|
$GALERA_BASE/bin/mysqld --defaults-file=$DATADIR/n1.cnf --wsrep-new-cluster > $DATADIR/node1/node1.err 2>&1 &
|
sleep 2
|
$GALERA_BASE/bin/mysqladmin -uroot -S$DATADIR/node1/node1_socket.sock ping
|
|
$GALERA_BASE/bin/mysqld --defaults-file=$DATADIR/n2.cnf > $DATADIR/node2/node2.err 2>&1 &
|
|
$RPL_BASE/bin/mysqld --defaults-file=$DATADIR/my.cnf > $DATADIR/data/mysql.err 2>&1 &
|
sleep 2
|
$RPL_BASE/bin/mysql -uroot --socket=/home/ramesh/rpl/data/socket.sock
|
|
delete from mysql.user where user='';
|
create user repl@'%' identified by 'repl';
|
grant all on *.* to repl@'%';
|
flush privileges;
|
\q
|
|
|
$GALERA_BASE/bin/mysql -uroot -S$DATADIR/node1/node1_socket.sock
|
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=4040, MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_USE_GTID=slave_pos; START SLAVE;
|
SHOW SLAVE STATUS \G
|
\q
|
|
sysbench /usr/share/sysbench/oltp_insert.lua --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-socket=/home/ramesh/rpl/data/socket.sock --threads=20 --tables=20 --table-size=1000 prepare
|
|