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

ER_DUP_ENTRY upon REPLACE or Assertion `transactional_table || !changed || thd->transaction.stmt.modified_non_trans_table' failed

    XMLWordPrintable

Details

    Description

      Note: An assertion failure with the same text was filed as MDEV-17891, but it seems to be as far as similarities go: in this case, there is no full table, no abort_result_set, no partitioning. On the other hand, there is a very odd ER_DUP_ENTRY upon REPLACE. All in all, it might still be the same problem, but it seems unlikely.

      SET TIMESTAMP=1589245268.41934;
      CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=MyISAM WITH SYSTEM VERSIONING;
      INSERT INTO t1 VALUES (1),(2);
       
      --connect (con1,localhost,root,,test)
      SET TIMESTAMP=1589245268.52093;
      REPLACE INTO t1 VALUES (1),(2);
       
      --connection default
      REPLACE INTO t1 VALUES (1),(2);
       
      --connection con1
      REPLACE INTO t1 VALUES (1),(2);
      

      10.3 644d9f38 non-debug build

      mysqltest: At line 14: query 'REPLACE INTO t1 VALUES (1),(2)' failed: 1062: Duplicate entry '1' for key 'PRIMARY'
      

      10.3 644d9f38 debug

      mysqld: /data/src/10.3/sql/sql_insert.cc:1200: bool mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool): Assertion `transactional_table || !changed || thd->transaction.stmt.modified_non_trans_table' failed.
      200513  4:03:27 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f8d9bdaff12 in __GI___assert_fail (assertion=0x558251cfa2e0 "transactional_table || !changed || thd->transaction.stmt.modified_non_trans_table", file=0x558251cfa0f8 "/data/src/10.3/sql/sql_insert.cc", line=1200, function=0x558251cfadc0 <mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool)::__PRETTY_FUNCTION__> "bool mysql_insert(THD*, TABLE_LIST*, List<Item>&, List<List<Item> >&, List<Item>&, List<Item>&, enum_duplicates, bool)") at assert.c:101
      #8  0x000055825105f5d6 in mysql_insert (thd=0x7f8d78000af0, table_list=0x7f8d78011540, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_REPLACE, ignore=false) at /data/src/10.3/sql/sql_insert.cc:1199
      #9  0x00005582510a2dac in mysql_execute_command (thd=0x7f8d78000af0) at /data/src/10.3/sql/sql_parse.cc:4454
      #10 0x00005582510ae8d1 in mysql_parse (thd=0x7f8d78000af0, rawbuf=0x7f8d78011458 "REPLACE INTO t1 VALUES (1),(2)", length=30, parser_state=0x7f8d95f635e0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7817
      #11 0x000055825109b13f in dispatch_command (command=COM_QUERY, thd=0x7f8d78000af0, packet=0x7f8d78008c71 "REPLACE INTO t1 VALUES (1),(2)", packet_length=30, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1856
      #12 0x0000558251099a57 in do_command (thd=0x7f8d78000af0) at /data/src/10.3/sql/sql_parse.cc:1401
      #13 0x0000558251211c23 in do_handle_one_connection (connect=0x55825403de20) at /data/src/10.3/sql/sql_connect.cc:1403
      #14 0x0000558251211985 in handle_one_connection (arg=0x55825403de20) at /data/src/10.3/sql/sql_connect.cc:1308
      #15 0x0000558251bc4c70 in pfs_spawn_thread (arg=0x558253f8a4e0) at /data/src/10.3/storage/perfschema/pfs.cc:1869
      #16 0x00007f8d9dd384a4 in start_thread (arg=0x7f8d95f64700) at pthread_create.c:456
      #17 0x00007f8d9be6cd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      Reproducible on 10.3-10.5.

      Attachments

        Issue Links

          Activity

            People

              nikitamalyavin Nikita Malyavin
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.