[MDEV-30925] Assertion `share->now_transactional' failed in translog_write_record / online_alter_read_from_binlog Created: 2023-03-24  Updated: 2023-08-16  Resolved: 2023-08-16

Status: Closed
Project: MariaDB Server
Component/s: Data Definition - Alter Table, Storage Engine - Aria
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

 Description   

The test case is non-deterministic. It fails very quickly for me, usually from the first attempt, but it can vary on different machines and builds, run with --repeat=N if it doesn't fail right away.

I'm not sure the application period is important here, but I couldn't get rid of it.

The failure is rr-able.
Could not reproduce on the baseline.

--source include/have_log_bin.inc
--source include/have_binlog_format_row.inc
 
CREATE TABLE t (id INT, s DATE, e DATE, PERIOD FOR p(s,e), UNIQUE(id, p WITHOUT OVERLAPS)) ENGINE=Aria;
 
--connect (con1,localhost,root,,)
--send
  ALTER TABLE t FORCE;
 
--connection default
INSERT INTO t VALUES (1,'1971-01-01','1971-01-02');
DELETE FROM t;
 
# Cleanup
--connection con1
--reap
DROP TABLE t;
--disconnect con1

bb-11.0-oalter fd06124e66

#5  0x00007fd459853df2 in __GI___assert_fail (assertion=0x5565e080d0f3 "share->now_transactional", 
    file=0x5565e0808888 "/src/storage/maria/ma_loghandler.c", line=6435, 
    function=0x5565e080f8b0 <__PRETTY_FUNCTION__.29> "translog_write_record") at ./assert/assert.c:101
#6  0x00005565df7f122f in translog_write_record (lsn=0x7fd44eff4430, type=LOGREC_INCOMPLETE_LOG, trn=0x5565e202c940 <dummy_transaction_object>, 
    tbl_info=0x7fd43c2cbca8, rec_len=2, part_no=3, parts_data=0x7fd44eff4460, store_share_id=0x7fd44eff442e "", hook_arg=0x0)
    at /src/storage/maria/ma_loghandler.c:6435
#7  0x00005565df82c43b in _ma_tmp_disable_logging_for_table (info=0x7fd43c2cbca8, log_incomplete=1 '\001')
    at /src/storage/maria/ma_recovery.c:3615
#8  0x00005565df7c2fd4 in ha_maria::external_lock (this=0x7fd43c0173d8, thd=0x7fd43c000dc8, lock_type=0)
    at /src/storage/maria/ha_maria.cc:2958
#9  0x00005565df3f4822 in handler::ha_external_lock (this=0x7fd43c0173d8, thd=0x7fd43c000dc8, lock_type=0) at /src/sql/handler.cc:7324
#10 0x00005565df3da5c8 in handler::create_lookup_handler (this=0x7fd43c2546a0) at /src/sql/handler.cc:3276
#11 0x00005565df3f7e0a in handler::prepare_for_insert (this=0x7fd43c2546a0, do_create=true) at /src/sql/handler.cc:7773
#12 0x00005565df6d89d2 in Rows_log_event::do_apply_event (this=0x7fd43c073df8, rgi=0x7fd44eff5f60) at /src/sql/log_event_server.cc:5004
#13 0x00005565df6b0290 in Log_event::apply_event (this=0x7fd43c073df8, rgi=0x7fd44eff5f60) at /src/sql/log_event.cc:3856
#14 0x00005565deec5b39 in online_alter_read_from_binlog (thd=0x7fd43c000dc8, rgi=0x7fd44eff5f60, log=0x7fd43c25e1b0)
    at /src/sql/sql_table.cc:11520
#15 0x00005565deec9430 in copy_data_between_tables (thd=0x7fd43c000dc8, from=0x7fd43c2bfe28, to=0x7fd43c253d98, create=..., ignore=false, order_num=0, order=0x0, 
    copied=0x7fd44eff9e50, deleted=0x7fd44eff9e58, keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7fd44effb420, online=true)
    at /src/sql/sql_table.cc:11958
#16 0x00005565deec2106 in mysql_alter_table (thd=0x7fd43c000dc8, new_db=0x7fd43c005ae0, new_name=0x7fd43c005f28, create_info=0x7fd44effc240, 
    table_list=0x7fd43c0156c0, recreate_info=0x7fd44effc110, alter_info=0x7fd44effc150, order_num=0, order=0x0, ignore=false, if_exists=false)
    at /src/sql/sql_table.cc:10986
#17 0x00005565df01ff0d in Sql_cmd_alter_table::execute (this=0x7fd43c015de0, thd=0x7fd43c000dc8) at /src/sql/sql_alter.cc:563
#18 0x00005565dec97965 in mysql_execute_command (thd=0x7fd43c000dc8, is_called_from_prepared_stmt=false) at /src/sql/sql_parse.cc:6001
#19 0x00005565deca3489 in mysql_parse (thd=0x7fd43c000dc8, rawbuf=0x7fd43c0155f0 "ALTER TABLE t FORCE", length=19, parser_state=0x7fd44effd370)
    at /src/sql/sql_parse.cc:8000
#20 0x00005565dec79a3d in dispatch_command (command=COM_QUERY, thd=0x7fd43c000dc8, packet=0x7fd43c12b8e9 "", packet_length=19, blocking=true)
    at /src/sql/sql_parse.cc:1894
#21 0x00005565dec76b82 in do_command (thd=0x7fd43c000dc8, blocking=true) at /src/sql/sql_parse.cc:1407
#22 0x00005565df00a395 in do_handle_one_connection (connect=0x5565e39a1c38, put_in_cache=true) at /src/sql/sql_connect.cc:1416
#23 0x00005565df009dc0 in handle_one_connection (arg=0x5565e39b0198) at /src/sql/sql_connect.cc:1318
#24 0x00005565df944af7 in pfs_spawn_thread (arg=0x5565e3962d48) at /src/storage/perfschema/pfs.cc:2201
--Type <RET> for more, q to quit, c to continue without paging--
#25 0x00007fd4598a7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#26 0x00007fd4599278d0 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100



 Comments   
Comment by Oleksandr Byelkin [ 2023-03-28 ]

OK to push after fixing commit comment according last findings

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