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

With SPIDER plugin installed, XA COMMIT/ROLLBACK after recovery causes assertion `! is_set()' failure in Diagnostics_area::set_ok_status

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • 10.0.10
    • 10.0.11
    • None

    Description

      If SPIDER plugin is installed, XA COMMIT (or ROLLBACK) fails after XA recovery:

      #7  0x00007fca70c8d192 in __GI___assert_fail (assertion=0xe7044f "! is_set()", file=0xe70380 "10.0/sql/sql_error.cc", line=362, function=0xe708e0 "void Diagnostics_area::set_ok_status(THD*, ulonglong, ulonglong, const char*)") at assert.c:103
      #8  0x00000000005fdd8a in Diagnostics_area::set_ok_status (this=0x35c9418, thd=0x35c4568, affected_rows_arg=0, last_insert_id_arg=0, message_arg=0x0) at 10.0/sql/sql_error.cc:362
      #9  0x00000000005babfa in my_ok (thd=0x35c4568, affected_rows=0, id=0, message=0x0) at 10.0/sql/sql_class.h:3376
      #10 0x0000000000629e0e in mysql_execute_command (thd=0x35c4568) at 10.0/sql/sql_parse.cc:4755
      #11 0x000000000062d680 in mysql_parse (thd=0x35c4568, rawbuf=0x7fca38006e40 "XA COMMIT 'xa1'", length=15, parser_state=0x7fca70208500) at 10.0/sql/sql_parse.cc:6176
      #12 0x0000000000620556 in dispatch_command (command=COM_QUERY, thd=0x35c4568, packet=0x35c9769 "XA COMMIT 'xa1'", packet_length=15) at 10.0/sql/sql_parse.cc:1274
      #13 0x000000000061f9cc in do_command (thd=0x35c4568) at 10.0/sql/sql_parse.cc:983
      #14 0x000000000073d820 in do_handle_one_connection (thd_arg=0x35c4568) at 10.0/sql/sql_connect.cc:1267
      #15 0x000000000073d573 in handle_one_connection (arg=0x35c4568) at 10.0/sql/sql_connect.cc:1181
      #16 0x00000000009d32b4 in pfs_spawn_thread (arg=0x33fc6b8) at 10.0/storage/perfschema/pfs.cc:1800
      #17 0x00007fca71c73e9a in start_thread (arg=0x7fca70209700) at pthread_create.c:308
      #18 0x00007fca70d51cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112

      bzr version-info

      revision-id: svoj@mariadb.org-20130627111848-b8kc0z60ywwpqavz
      revno: 3762
      branch-nick: 10.0

      The failure happens even if SPIDER itself is not involved in the transaction. It's enough just to have the plugin installed:

      --source include/have_innodb.inc
       
      install soname 'ha_spider.so';
       
      --connection default
      eval CREATE TABLE t1 (a INT) ENGINE=InnoDB;
       
      --connect (con1,localhost,root,,)
      XA START 'xa1';
      INSERT INTO t1 (a) VALUES (1),(2);
      XA END 'xa1';
      XA PREPARE 'xa1';
       
      --connection default
      --enable_reconnect
      --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
      restart
      EOF
      --shutdown_server 0
      --source include/wait_until_disconnected.inc
      --source include/wait_until_connected_again.inc
      XA RECOVER;
      XA COMMIT 'xa1';

      Attachments

        Issue Links

          Activity

            People

              svoj Sergey Vojtovich
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.