Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
12.0(EOL)
Description
RQG run crashes Galera multi source slave node
Setup
Async Master1 - Async Master2
|
\ /
|
\ /
|
\ /
|
\ /
|
Galera Slave (Galera node1)
|
Test case
GALERA_BASE=/home/ramesh/rpl/mariadb-12.1.0-linux-x86_64
|
RPL_BASE=/home/ramesh/rpl/mariadb-12.1.0-linux-x86_64
|
DATADIR=/home/ramesh/rpl
|
|
$RPL_BASE/bin/mariadb-admin -uroot --socket=$DATADIR/data2/socket.sock shutdown |
$RPL_BASE/bin/mariadb-admin -uroot --socket=$DATADIR/data1/socket.sock shutdown |
$GALERA_BASE/bin/mariadb-admin -uroot --socket=$DATADIR/node2/mysql.sock shutdown |
$GALERA_BASE/bin/mariadb-admin -uroot --socket=$DATADIR/node1/mysql.sock shutdown |
|
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/data1 |
$RPL_BASE/scripts/mariadb-install-db --no-defaults --force --auth-root-authentication-method=normal --basedir=$RPL_BASE --datadir=$DATADIR/data2 |
|
$GALERA_BASE/bin/mariadbd --defaults-file=$DATADIR/n1.cnf --wsrep-new-cluster > $DATADIR/node1/node1.err 2>&1 & |
sleep 4
|
$GALERA_BASE/bin/mariadb-admin -uroot -S$DATADIR/node1/mysql.sock ping
|
|
$GALERA_BASE/bin/mariadbd --defaults-file=$DATADIR/n2.cnf > $DATADIR/node2/node2.err 2>&1 & |
sleep 10
|
|
$GALERA_BASE/bin/mariadb-admin -uroot -S$DATADIR/node2/mysql.sock ping
|
|
$RPL_BASE/bin/mariadbd --defaults-file=$DATADIR/master1_n1.cnf > $DATADIR/data1/mysql.err 2>&1 & |
sleep 5
|
$RPL_BASE/bin/mariadb-admin -uroot -S$DATADIR/data1/socket.sock ping
|
|
$RPL_BASE/bin/mariadb -uroot --socket=$DATADIR/data1/socket.sock <<'EOF' |
set sql_log_bin=0; |
delete from mysql.user where user=''; |
flush privileges; |
create user repl@'%' identified by 'repl'; |
grant all on *.* to repl@'%'; |
flush privileges; |
set sql_log_bin=1; |
EOF
|
|
$RPL_BASE/bin/mariadbd --defaults-file=$DATADIR/master1_n2.cnf > $DATADIR/data2/mysql.err 2>&1 & |
sleep 5
|
$RPL_BASE/bin/mariadb-admin -uroot -S$DATADIR/data2/socket.sock ping
|
|
$RPL_BASE/bin/mariadb -uroot --socket=$DATADIR/data2/socket.sock <<'EOF' |
set sql_log_bin=0; |
delete from mysql.user where user=''; |
flush privileges; |
create user repl@'%' identified by 'repl'; |
grant all on *.* to repl@'%'; |
flush privileges; |
set sql_log_bin=1; |
EOF
|
|
$GALERA_BASE/bin/mysql -uroot -S$DATADIR/node1/mysql.sock <<'EOF' |
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=4040, MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_USE_GTID=slave_pos FOR CHANNEL 'master1'; |
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=4041, MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_USE_GTID=slave_pos FOR CHANNEL 'master2'; |
START SLAVE FOR CHANNEL 'master1'; |
START SLAVE FOR CHANNEL 'master2'; |
SHOW SLAVE STATUS FOR CHANNEL 'master1' \G |
SHOW SLAVE STATUS FOR CHANNEL 'master2' \G |
EOF
|
Leads to
Run RQG
perl gendata.pl --dsn=dbi:mysql:host=127.0.0.1:port=4040:user=root:database=test --spec=conf/transactions/transactions.zz
|
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=4040:user=root:database=test --grammar=conf/transactions/transactions.yy --threads=32 --duration=10300 --queries=100000000 &
|
|
perl gendata.pl --dsn=dbi:mysql:host=127.0.0.1:port=4041:user=root:database=test --spec=conf/transactions/transactions.zz
|
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=4041:user=root:database=test --grammar=conf/transactions/transactions.yy --threads=32 --duration=10300 --queries=100000000 &
|
|
CS 12.1.0 4b79d7b8ee557d53a859aedec839b8673585b514 (Debug) Build 30/05/2025 |
mariadbd: /home/ramesh/12.0/sql/service_wsrep.cc:318: int wsrep_thd_append_key(THD*, const wsrep_key*, int, Wsrep_service_key_type): Assertion `client_state.transaction().active()' failed.
|
250530 8:56:27 [ERROR] /home/ramesh/rpl/mariadb-12.1.0-linux-x86_64/bin/mariadbd got signal 6 ;
|
Sorry, we probably made a mistake, and this is a bug.
|
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x00007f767a68d859 in __GI_abort () at abort.c:79
|
#2 0x00007f767a68d729 in __assert_fail_base (fmt=0x7f767a823588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x56142b220a80 "client_state.transaction().active()",
|
file=0x56142b2206b8 "/home/ramesh/12.0/sql/service_wsrep.cc", line=318, function=<optimized out>) at assert.c:94
|
#3 0x00007f767a69efd6 in __GI___assert_fail (assertion=0x56142b220a80 "client_state.transaction().active()", file=0x56142b2206b8 "/home/ramesh/12.0/sql/service_wsrep.cc", line=318,
|
function=0x56142b220aa8 "int wsrep_thd_append_key(THD*, const wsrep_key*, int, Wsrep_service_key_type)") at assert.c:103
|
#4 0x000056142a941f8d in wsrep_thd_append_key (thd=0x7f7560016918, key=0x7f76381d2860, n_keys=1, key_type=WSREP_SERVICE_KEY_EXCLUSIVE) at /home/ramesh/12.0/sql/service_wsrep.cc:318
|
#5 0x000056142a983494 in wsrep_append_key (thd=0x7f7560016918, trx=0x7f764195f080, table_share=0x7f757001fa20, key=0x7f76381d2940 "", key_len=5, key_type=WSREP_SERVICE_KEY_EXCLUSIVE)
|
at /home/ramesh/12.0/storage/innobase/handler/ha_innodb.cc:10155
|
#6 0x000056142a983e40 in ha_innobase::wsrep_append_keys (this=0x7f7560292a78, thd=0x7f7560016918, key_type=WSREP_SERVICE_KEY_EXCLUSIVE, record0=0x7f75602932d8 "\371d", record1=0x0)
|
at /home/ramesh/12.0/storage/innobase/handler/ha_innodb.cc:10329
|
#7 0x000056142a97dead in ha_innobase::write_row (this=0x7f7560292a78, record=0x7f75602932d8 "\371d") at /home/ramesh/12.0/storage/innobase/handler/ha_innodb.cc:7936
|
#8 0x000056142a5c1aa6 in handler::ha_write_row (this=0x7f7560292a78, buf=0x7f75602932d8 "\371d") at /home/ramesh/12.0/sql/handler.cc:8234
|
#9 0x000056142a761572 in Rows_log_event::write_row (this=0x7f75a4059458, rgi=0x7f757c0c2180, overwrite=false) at /home/ramesh/12.0/sql/log_event_server.cc:6918
|
#10 0x000056142a76238b in Write_rows_log_event::do_exec_row (this=0x7f75a4059458, rgi=0x7f757c0c2180) at /home/ramesh/12.0/sql/log_event_server.cc:7180
|
#11 0x000056142a75bf06 in Rows_log_event::do_apply_event (this=0x7f75a4059458, rgi=0x7f757c0c2180) at /home/ramesh/12.0/sql/log_event_server.cc:5217
|
#12 0x000056142a747dcd in Log_event::apply_event (this=0x7f75a4059458, rgi=0x7f757c0c2180) at /home/ramesh/12.0/sql/log_event.cc:3984
|
#13 0x000056142a09200f in apply_event_and_update_pos_apply (ev=0x7f75a4059458, thd=0x7f7560016918, rgi=0x7f757c0c2180, reason=0) at /home/ramesh/12.0/sql/slave.cc:3626
|
#14 0x000056142a092674 in apply_event_and_update_pos_for_parallel (ev=0x7f75a4059458, thd=0x7f7560016918, rgi=0x7f757c0c2180) at /home/ramesh/12.0/sql/slave.cc:3833
|
#15 0x000056142a44e772 in rpt_handle_event (qev=0x7f757c0c2ed8, rpt=0x7f757c02ec00) at /home/ramesh/12.0/sql/rpl_parallel.cc:66
|
#16 0x000056142a452906 in handle_rpl_parallel_thread (arg=0x7f757c02ec00) at /home/ramesh/12.0/sql/rpl_parallel.cc:1578
|
#17 0x00007f767abb9609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#18 0x00007f767a78a353 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|