[MDEV-31775] Server crash in Rows_log_event::update_sequence upon online alter on sequence Created: 2023-07-25  Updated: 2023-08-16  Resolved: 2023-08-16

Status: Closed
Project: MariaDB Server
Component/s: Data Definition - Alter Table, Sequences
Affects Version/s: N/A
Fix Version/s: 11.2.1

Type: Bug Priority: Critical
Reporter: Elena Stepanova Assignee: Nikita Malyavin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
is caused by MDEV-16329 Engine-independent online ALTER TABLE Closed
Relates
relates to MDEV-28808 Test MDEV-16329 (ALTER ONLINE TABLE) ... Stalled
relates to MDEV-31779 Server crash in Rows_log_event::updat... In Progress

 Description   

--source include/have_debug_sync.inc
 
create sequence s engine=MyISAM;
--send set debug_sync= 'now wait_for go_sequence'
 
--connect (con1,localhost,root,,)
set debug_sync='alter_table_online_progress signal go_sequence wait_for go_alter';
--send alter table s engine=Aria
 
--connection default
--reap
select nextval(s);
set debug_sync= 'now signal go_alter';
 
--connection con1
--reap
show create sequence s;
 
# Cleanup
drop sequence s;

bb-11.2-oalter b0484157ecd33e153e181d9ca4c055b82046ffea

#3  <signal handler called>
#4  0x000055e5a1d6a8d6 in Rows_log_event::update_sequence (this=0x613000060298) at /data/src/bb-11.2-oalter-repro/sql/log_event_server.cc:6918
#5  0x000055e5a1d6907c in Rows_log_event::write_row (this=0x613000060298, rgi=0x7f51fa90c150, overwrite=false) at /data/src/bb-11.2-oalter-repro/sql/log_event_server.cc:6735
#6  0x000055e5a1d6b631 in Write_rows_log_event::do_exec_row (this=0x613000060298, rgi=0x7f51fa90c150) at /data/src/bb-11.2-oalter-repro/sql/log_event_server.cc:6987
#7  0x000055e5a1d5a77f in Rows_log_event::do_apply_event (this=0x613000060298, rgi=0x7f51fa90c150) at /data/src/bb-11.2-oalter-repro/sql/log_event_server.cc:5113
#8  0x000055e5a1d24551 in Log_event::apply_event (this=0x613000060298, rgi=0x7f51fa90c150) at /data/src/bb-11.2-oalter-repro/sql/log_event.cc:3868
#9  0x000055e5a1360043 in online_alter_read_from_binlog (thd=0x62b0000af218, rgi=0x7f51fa90c150, log=0x61d00024d680) at /data/src/bb-11.2-oalter-repro/sql/sql_table.cc:11681
#10 0x000055e5a136457f in copy_data_between_tables (thd=0x62b0000af218, from=0x6190000a0a98, to=0x6190000a5098, create=..., ignore=false, order_num=0, order=0x0, copied=0x7f51fa9102f0, deleted=0x7f51fa910310, keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7f51fa9122d0, online=true, start_alter_id=0) at /data/src/bb-11.2-oalter-repro/sql/sql_table.cc:12136
#11 0x000055e5a135bce7 in mysql_alter_table (thd=0x62b0000af218, new_db=0x62b0000b3f40, new_name=0x62b0000b4390, create_info=0x7f51fa913270, table_list=0x629000276340, recreate_info=0x7f51fa9130a0, alter_info=0x7f51fa913140, order_num=0, order=0x0, ignore=false, if_exists=false) at /data/src/bb-11.2-oalter-repro/sql/sql_table.cc:11137
#12 0x000055e5a1526c31 in Sql_cmd_alter_table::execute (this=0x629000276a78, thd=0x62b0000af218) at /data/src/bb-11.2-oalter-repro/sql/sql_alter.cc:571
#13 0x000055e5a1059616 in mysql_execute_command (thd=0x62b0000af218, is_called_from_prepared_stmt=false) at /data/src/bb-11.2-oalter-repro/sql/sql_parse.cc:5764
#14 0x000055e5a10664b1 in mysql_parse (thd=0x62b0000af218, rawbuf=0x629000276238 "alter table s engine=Aria", length=25, parser_state=0x7f51fa914a30) at /data/src/bb-11.2-oalter-repro/sql/sql_parse.cc:7772
#15 0x000055e5a103e9b8 in dispatch_command (command=COM_QUERY, thd=0x62b0000af218, packet=0x62900026c219 "", packet_length=25, blocking=true) at /data/src/bb-11.2-oalter-repro/sql/sql_parse.cc:1892
#16 0x000055e5a103b6f5 in do_command (thd=0x62b0000af218, blocking=true) at /data/src/bb-11.2-oalter-repro/sql/sql_parse.cc:1405
#17 0x000055e5a150900e in do_handle_one_connection (connect=0x608000002e38, put_in_cache=true) at /data/src/bb-11.2-oalter-repro/sql/sql_connect.cc:1416
#18 0x000055e5a15089cf in handle_one_connection (arg=0x608000002e38) at /data/src/bb-11.2-oalter-repro/sql/sql_connect.cc:1318
#19 0x000055e5a212d54e in pfs_spawn_thread (arg=0x617000005f18) at /data/src/bb-11.2-oalter-repro/storage/perfschema/pfs.cc:2201
#20 0x00007f52030a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#21 0x00007f52031285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81



 Comments   
Comment by Elena Stepanova [ 2023-07-26 ]

Maybe it's not online alter's fault as such. Earlier versions crash upon replaying a binlog with sequence update (not upon replicating it though): MDEV-31779.

Comment by Sergei Golubchik [ 2023-08-04 ]

ok, but please, write a longer commit comment. Something like:

forbid online for sequences
it doesn't work now and sequence tables are always only one row, so not worth the extra complexity.

Generated at Thu Feb 08 10:26:22 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.