| Server IP : 88.99.149.37 / Your IP : 216.73.216.141 Web Server : nginx/1.31.2 System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64 User : muralimurth ( 1015) PHP Version : 8.4.23 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/local/mysql/mysql-test/suite/galera/t/ |
Upload File : |
# # Test scenario: # # Run an autocommit INSERT and stop the execution after the INSERT # has released commit order critical section. On another connection, # run SR transaction which will store one fragment into streaming log. # If the bug is present, the fragment streaming log commit may # out of order, and completing INSERT may cause assertion in debug build. # # Note that due to nature of this bug, it is may not be possible # to construct fully deterministic test case which will crash the # server each time if the bug is present, but will work with fix. # --source include/galera_cluster.inc --source include/have_log_bin.inc --source include/have_debug_sync.inc CREATE TABLE t1 (f1 INT PRIMARY KEY); # Control connection for controlling node_1 debug sync points --let $galera_connection_name = ctrl --let $galera_server_number = 1 --source include/galera_connect.inc # Another connection for SR transaction --let $galera_connection_name = node_1_sr --let $galera_server_number = 1 --source include/galera_connect.inc # Set up sync point and send INSERT --connection node_1 SET DEBUG_SYNC = "wsrep_after_commit_order_leave SIGNAL acol_reached WAIT_FOR acol_continue"; --send INSERT INTO t1 VALUES (1) # Wait until INSERT releases commit order --connection ctrl SET DEBUG_SYNC = "now WAIT_FOR acol_reached"; # Streaming transaction, will replicate fragment for each row separately. --connection node_1_sr SET SESSION wsrep_sync_wait = 0; SET SESSION wsrep_trx_fragment_unit = 'rows'; SET SESSION wsrep_trx_fragment_size = 1; START TRANSACTION; --send INSERT INTO t1 VALUES (2) --connection ctrl # Now let the thread node_1 continue after a one second sleep. # The sleep while not completely deterministic, will allow the SR # insert to complete the commit out of order in most of the cases if # the bug is present, leading to assertion in debug build. --sleep 1 SET DEBUG_SYNC = "now SIGNAL acol_continue"; --connection node_1 --reap --connection node_1_sr --reap ROLLBACK; --connection ctrl SET DEBUG_SYNC = "RESET"; --disconnect ctrl --disconnect node_1_sr --connection node_1 DROP TABLE t1; --source include/galera_end.inc