force flushing of binlog under pxc binlog emulation mode

Description

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

Environment

None

Smart Checklist

Activity

Show:

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

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
Done

Details

Assignee

Reporter

Time tracking

3h logged

Fix versions

Affects versions

Priority

Smart Checklist

Created December 4, 2019 at 5:55 AM
Updated March 6, 2024 at 10:00 PM
Resolved December 13, 2019 at 6:40 AM

Flag notifications