force flushing of binlog under pxc binlog emulation mode
Description
Environment
Smart Checklist
Activity
Krunal Bauskar December 13, 2019 at 6:39 AM
commit 8f97e27582c9ee75c9507c367281c7bfafe8ec54
Merge: d90ce83042d 674a478c5a5
Author: Krunal Bauskar <krunal.bauskar@percona.com>
Date: Fri Dec 13 12:04:48 2019 +0530
Merge pull request #887 from percona/5.7-pxc-2730
PXC#2730: force flushing of binlog under pxc binlog emulation mode
commit 674a478c5a5d2299985287c5e8e9a4bf977af945
Author: Krunal Bauskar <krunal.bauskar@percona.com>
Date: Fri Dec 13 09:58:42 2019 +0530
PXC#2730: force flushing of binlog under pxc binlog emulation mode
With recent changes done by upstream (PS) to split ordered_commit into
2 sub-functions viz. prepare_ordered_commit and ordered_commit,
optimization for operating PXC commit with emulation binlog got
mis-placed causing the said bug.
Corrected flow to ensure that binlog flushing action is not invoked
under pxc binlog emulation mode.
Ramesh Sivaraman December 13, 2019 at 3:14 AM
@KennT @Krunal Bauskar We were able to reduce the testcase to 45 lines, but we can only reproduce this testcase using pquery binary.
SQL File
create TABLE t4 (t DATE);
CREATE TABLE slave_only(id INT KEY);
set f9=f8;
set clation_connection=sjis_bin;
SELECT bP;
INSERT INTO t VALUES (34,64735,'jtFzwou3F7yn4q','oK97DzgCgqd4EnN6RJY00C4WDfIflH2PNpvUQU1D5UJTVlDpgw8F4xy5dM','sxxSQ041','DptguqrvmghT1ssvWCccA4wC',0,0,4);
SELECT @@global.InnoDB_api_bk_commitierval=1024*1024*1024;
SELECT @@local.max_errON.max_error_count;
USE test;
create TABLE t4 (f1 float(1),f2 float(1));
CREATE TABLE t2 (a INT UNSIGNED,b INT,c BINARY(1),d BINARY (1),e CHAR (1),f VARBINARY(1),g BLOB,h BLOB,id INT,KEY(b),KEY(e),PRIMARY KEY(id));
SELECT * BINARY(1));
CREATE TABLE t2 (a INT,b INT,c CHAR(1),d BINARY (1),e VARBINARY(1),f VARBINARY(1),g BLOB,h BLOB,id INT,KEY(b),KEY(e),PRIMARY KEY(id));
SHOW cLATION;
CREATE TABLE t4 (a SERIAL,c64 CHAR (1) UNIQUE);
update worklog5743 set a1=4444;
INSERT INTO t VALUES (-79934986,73,'Xv979cmuMg','cwaLVlgXxfWp1','qqKks35XCZqwtrRZtYI4Z3H43JrUKFs94gsSnHW8GhJc3kSzvTPqdzFSgVavuzJUFSE','C0SCOTFPycFcra1WIvSCT4Jm6LEBqpj7sAWi',0,0,1);
create t diag_non_reserved (diagnostics int,current int,stacked int,exception int drop t diag_non_reserved;
CREATE TABLE t5 (a CHAR (1) exists;
SET @@sql_mode=',,,,ANSI_QUOTES,,,';
SELECT * utf8));
CREATE PROCEDURE bug11758414() BEGIN SET @@GLOBAL.stINe';
insert into t4 values (1,2);
SELECT SUBSTRING(0;
SELECT LOCATE(']';
SET @session_start_value=@@session.pseudo_slave_mode;
CREATE PROCEDURE p1() BEGIN declare declare condition fINe 1;
create TABLE t4 (a text,b CHAR (1),c BLOB,d int,e BLOB,f varchar(1),primary key (b,d,f);
SELECT * clause';
SELECT SUBSTRING('default;
INSERT INTO t2 VALUES (4,0);
SELECT * a="";
SELECT * list';
CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=5;
CREATE TABLESPACE s2 ADD DATAFILE 's2.ibd' ENGINE InnoDB ENCRYPTION=0;
ALTER TABLE t4 MODIFY id INT;
set @str2=convert(@str1 using utf32);
INSERT INTO t2 VALUES (-1015575706429607244,39574,0,'cm6fmSRHSrTblyKvvdxsGBcSQVZgSjWSlpCT787CZB0wmwclhUaXsv1q3lM7DK4LlYZFAAMFVjrikwOGQi0oOHQev','CTkPS7cd6lDZmRcZdGuS99jEa1TvLxYn6mHuFV63ECRcI4yndG','hPqCQNfWynIwSovUZE4bB6pmyqTCTh67kzxe3CCKsYvXAaBcHQozGNI6vdTaF2CVns27YOwnKWFGuSmWOOKsyj5fIc6RYEniXRII37xWarnGnJXt7qujX7LKjuXfUOJ3Nb825bZByG6NLAwLrqM0hsd1kdkgh3rBFqufXy2RO',0,0,4);
CREATE TABLE t7 (bP char(1)) DEFAULT CHARSET=sjis;
SELECT * clause';
SELECT SUBSTRING('default;
create t t5 (cint int,c1 int) engine=0partition by list(cint) subpartition by hash(bit_length(c1)) subpartitions 2 (partition p0 values IN (SELECT *0;
create procedure p_20906_b() SET @a=@a+1;
change master to IGNORE_SERVER_IDS=(5,1,4,3,1);
SELECT SUBSTRING('default;
INSERT INTO t2 VALUES (-2283715698815558773,6834447576237433190,'iMP7ibCZAro','nCPJPDcc2Xd9KSXoNvXMixvfqKkB1bXcb9Ew1j101','PAk0V5vD52iEmX3IYzU0hQyrOukU3XtyZaMbEq2B7OfDK9UgTDFqnuAnJfDCFFsPY3hmG','MS7zJxqgbFhF6xXVURNgGuKKQMqNawEgLssa2GriPrmprjH',0,0,11);
pquery command
/home/ramesh/percona-qa/pquery/pquery2-pxc57 --infile=1576154974.sql --no-shuffle --threads=1 --user=root --socket=/dev/shm/testdir/node1/node1_socket.sock --log-all-queries --log-failed-queries
Details
Details
Assignee
Reporter
Time tracking
Fix versions
Affects versions
Priority
Smart Checklist
Open Smart Checklist
Smart Checklist

GDB Info
#0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62 #0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:6262 ../sysdeps/unix/sysv/linux/pthread_kill.c: No such file or directory.[Current thread is 1 (Thread 0x7f379b8ad700 (LWP 18313))](gdb) bt+bt #0 __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:62 #1 0x0000000001a0bcad in my_write_core (sig=6) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/mysys/stacktrace.c:261#2 0x0000000000f40664 in handle_fatal_signal (sig=6) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/signal_handler.cc:242#3 <signal handler called>#4 0x00007f379941d428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54#5 0x00007f379941f02a in __GI_abort () at abort.c:89#6 0x00007f3799415bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x215b498 "trn_ctx->last_committed == SEQ_UNINIT || thd->commit_error == THD::CE_FLUSH_ERROR", file=file@entry=0x215b348 "/mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/rpl_trx_tracking.cc", line=line@entry=375, function=function@entry=0x215b6a0 <Transaction_dependency_tracker::update_max_committed(THD*)::__PRETTY_FUNCTION__> "void Transaction_dependency_tracker::update_max_committed(THD*)") at assert.c:92#7 0x00007f3799415c82 in __GI___assert_fail (assertion=0x215b498 "trn_ctx->last_committed == SEQ_UNINIT || thd->commit_error == THD::CE_FLUSH_ERROR", file=0x215b348 "/mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/rpl_trx_tracking.cc", line=375, function=0x215b6a0 <Transaction_dependency_tracker::update_max_committed(THD*)::__PRETTY_FUNCTION__> "void Transaction_dependency_tracker::update_max_committed(THD*)") at assert.c:101#8 0x00000000015a443d in Transaction_dependency_tracker::update_max_committed (this=0x2fbf6b8 <mysql_bin_log+4408>, thd=0x7f3761c19000) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/rpl_trx_tracking.cc:374#9 0x000000000196ccd4 in MYSQL_BIN_LOG::process_commit_stage_queue (this=0x2fbe580 <mysql_bin_log>, thd=0x7f3761c19000, first=0x7f3761c19000) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/binlog.cc:9907#10 0x000000000196e94e in MYSQL_BIN_LOG::ordered_commit (this=0x2fbe580 <mysql_bin_log>, thd=0x7f3761c19000) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/binlog.cc:10669#11 0x000000000196c661 in MYSQL_BIN_LOG::commit (this=0x2fbe580 <mysql_bin_log>, thd=0x7f3761c19000, all=false) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/binlog.cc:9731#12 0x0000000001974e2b in wsrep_thd_binlog_commit (thd=0x7f3761c19000, all=false) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/binlog.cc:13405#13 0x00000000017a16b1 in TC_LOG_DUMMY::commit (this=0x2fac6a8 <tc_log_dummy>, thd=0x7f3761c19000, all=false) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/tc_log.cc:46#14 0x0000000000ff755f in ha_commit_trans (thd=0x7f3761c19000, all=false, ignore_global_read_lock=false) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/handler.cc:1886#15 0x00000000017a51b6 in trans_commit_stmt (thd=0x7f3761c19000) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/transaction.cc:504#16 0x000000000168f9ee in mysql_execute_command (thd=0x7f3761c19000, first_level=true) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/sql_parse.cc:6237#17 0x0000000001691545 in mysql_parse (thd=0x7f3761c19000, parser_state=0x7f379b8ab580, update_userstat=false) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/sql_parse.cc:6896#18 0x0000000001693ac9 in wsrep_mysql_parse (thd=0x7f3761c19000, rawbuf=0x7f3761c27030 "INSERT INTO ti VALUES (1483003092,460290303731852738,'Bl84q','DqIdNJKtg9R4Q0x34GEV3pQxEyKfRla3dIeoWYmu7ZTbRAU40vQbGdu3Ca6rsp4v2MeoFXxE3izcelDXniRpPvV8GW81io45spbjSPRJvS','Y07','50AgsYTbadyFArumK20VjsQicBYWqtOiZuMQNjpIm0oQfiN1pfATLFrEmEftEwMDQJsAa9lkL9NWfHCgq5OEbFL','Gt','z',3)", length=277, parser_state=0x7f379b8ab580, update_userstat=false) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/sql_parse.cc:7891#19 0x0000000001682133 in dispatch_command (thd=0x7f3761c19000, com_data=0x7f379b8acda0, command=COM_QUERY) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/sql_parse.cc:1865#20 0x00000000016805b0 in do_command (thd=0x7f3761c19000) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/sql_parse.cc:1193#21 0x00000000017dcd5e in handle_connection (arg=0x7f377ebfeca0) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/sql/conn_handler/connection_handler_per_thread.cc:325#22 0x0000000001a31844 in pfs_spawn_thread (arg=0x7f378ebf3820) at /mnt/jenkins/workspace/pxc57-build/BUILD_TYPE/debug/Host/min-xenial-x64/storage/perfschema/pfs.cc:2198#23 0x00007f379a0666ba in start_thread (arg=0x7f379b8ad700) at pthread_create.c:333#24 0x00007f37994ef41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109