[MDEV-12756] rpl.rpl_killed_ddl fails in buildbot with 'Can't find record' Created: 2017-05-09  Updated: 2017-05-16  Resolved: 2017-05-16

Status: Closed
Project: MariaDB Server
Component/s: Replication, Tests
Affects Version/s: 10.2
Fix Version/s: 10.2.7

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Michael Widenius
Resolution: Fixed Votes: 0
Labels: None


 Description   

http://buildbot.askmonty.org/buildbot/builders/kvm-fulltest2/builds/8057/steps/test_2/logs/stdio

rpl.rpl_killed_ddl 'row'                 w4 [ fail ]  Found warnings/errors in server log file!
        Test ended at 2017-05-08 17:51:35
line
2017-05-08 17:51:34 2964765504 [ERROR] mysqld: Can't find record in '#sql-1d62_a'
^ Found warnings in /mnt/buildbot/build/mariadb-10.2.6/mysql-test/var/4/log/mysqld.1.err



 Comments   
Comment by Michael Widenius [ 2017-05-14 ]

The bug happens when row 231 in rpl_killed_ddl is exceuted:

send ALTER TABLE t1 ADD (d int);
source include/kill_query_and_diff_master_slave.inc;

The warning is printed in sql_table.cc::copy_data_betwen_tables() here:

if (to->file->ha_end_bulk_insert() && error <= 0)

{ DBUG_ASSERT(0); to->file->print_error(my_errno,MYF(0)); error= 1; }

So the issue is probably that the signal to kill alter table happens after the copy of data (as error <= 0) and was discovered inside ha_end_bulk_insert(), which returns a confusing my_errno.

Comment by Michael Widenius [ 2017-05-16 ]

The issue was that my_errno was not set properly when a repair was killed,
which confused the rpl_killed_ddl script.

Generated at Thu Feb 08 08:00:13 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.