Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-22607

Assertion `ha_info->ht() != binlog_hton' failed in MYSQL_BIN_LOG::unlog_xa_prepare

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: N/A
    • Fix Version/s: 10.5.4
    • Component/s: Storage Engine - Aria, XA
    • Labels:
      None
    • Environment:
      bb-10.5-aria de554b8781

      Description

      --source include/have_innodb.inc
      --source include/have_log_bin.inc
       
      CREATE TABLE t1 (a INT) ENGINE=Aria;
      INSERT INTO t1 VALUES (1),(2);
      XA BEGIN 'x';
      DELETE FROM t1;
      XA END 'x';
      XA PREPARE 'x';
       
      # Cleanup
      XA COMMIT 'x';
      DROP TABLE t1;
      

      bb-10.5-aria de554b8781

      mariadbd: /data/src/bb-10.5-aria-clean/sql/log.cc:10134: virtual int MYSQL_BIN_LOG::unlog_xa_prepare(THD*, bool): Assertion `ha_info->ht() != binlog_hton' failed.
      200518  0:08:27 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f4bb73aaf12 in __GI___assert_fail (assertion=0x55d44ad2dcd6 "ha_info->ht() != binlog_hton", file=0x55d44ad29df0 "/data/src/bb-10.5-aria-clean/sql/log.cc", line=10134, function=0x55d44ad30500 <MYSQL_BIN_LOG::unlog_xa_prepare(THD*, bool)::__PRETTY_FUNCTION__> "virtual int MYSQL_BIN_LOG::unlog_xa_prepare(THD*, bool)") at assert.c:101
      #8  0x000055d44a206096 in MYSQL_BIN_LOG::unlog_xa_prepare (this=0x55d44b91f120 <mysql_bin_log>, thd=0x7f4b78000b18, all=true) at /data/src/bb-10.5-aria-clean/sql/log.cc:10134
      #9  0x000055d44a0c2a1d in ha_prepare (thd=0x7f4b78000b18) at /data/src/bb-10.5-aria-clean/sql/handler.cc:1377
      #10 0x000055d449ff87fe in trans_xa_prepare (thd=0x7f4b78000b18) at /data/src/bb-10.5-aria-clean/sql/xa.cc:531
      #11 0x000055d449d74602 in mysql_execute_command (thd=0x7f4b78000b18) at /data/src/bb-10.5-aria-clean/sql/sql_parse.cc:5802
      #12 0x000055d449d7b1cb in mysql_parse (thd=0x7f4b78000b18, rawbuf=0x7f4b78013a70 "XA PREPARE 'x'", length=14, parser_state=0x7f4bb08e6520, is_com_multi=false, is_next_command=false) at /data/src/bb-10.5-aria-clean/sql/sql_parse.cc:7991
      #13 0x000055d449d67577 in dispatch_command (command=COM_QUERY, thd=0x7f4b78000b18, packet=0x7f4b781b1809 "XA PREPARE 'x'", packet_length=14, is_com_multi=false, is_next_command=false) at /data/src/bb-10.5-aria-clean/sql/sql_parse.cc:1875
      #14 0x000055d449d65caf in do_command (thd=0x7f4b78000b18) at /data/src/bb-10.5-aria-clean/sql/sql_parse.cc:1356
      #15 0x000055d449f09675 in do_handle_one_connection (connect=0x55d44da606d8, put_in_cache=true) at /data/src/bb-10.5-aria-clean/sql/sql_connect.cc:1411
      #16 0x000055d449f093dd in handle_one_connection (arg=0x55d44da606d8) at /data/src/bb-10.5-aria-clean/sql/sql_connect.cc:1313
      #17 0x000055d44a43f59c in pfs_spawn_thread (arg=0x55d44da00858) at /data/src/bb-10.5-aria-clean/storage/perfschema/pfs.cc:2201
      #18 0x00007f4bb93334a4 in start_thread (arg=0x7f4bb08e7700) at pthread_create.c:456
      #19 0x00007f4bb7467d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      If the same test case is run without binary logging, instead of the assertion failure it throws a warning upon XA PREPARE:

      XA PREPARE 'x';
      Warnings:
      Warning	1030	Got error 131 "Command not supported by the engine" from storage engine Aria
      

      Neither of it happens on current 10.5 main tree (69077dea).

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              monty Michael Widenius
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration