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

InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH upon TRUNCATE TABLE after converting to REDUNDANT

Details

    Description

      --source include/have_innodb.inc
       
      CREATE TABLE t1 (c VARCHAR(1024), KEY(c)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
      ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
      TRUNCATE TABLE t1;
       
      # Cleanup
      DROP TABLE t1;
      

      10.3 06e5f28f9

      2018-11-23 15:22:36 13 [ERROR] InnoDB: Cannot rename table 'test/#sql-ib269-2948221008' to 'test/t8' since the dictionary cache already contains 'test/t8'.
      2018-11-23 15:22:36 0x7f1b1dbb5700  InnoDB: Assertion failure in file /data/src/10.3/storage/innobase/row/row0mysql.cc line 2341
      InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH
       
      #6  0x000055db7a8f213d in ut_dbg_assertion_failed (expr=0x55db7ae96aa8 "trx->dict_operation_lock_mode == RW_X_LATCH", file=0x55db7ae95980 "/data/src/10.3/storage/innobase/row/row0mysql.cc", line=2341) at /data/src/10.3/storage/innobase/ut/ut0dbg.cc:60
      #7  0x000055db7a8244a7 in row_mysql_unlock_data_dictionary (trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/row/row0mysql.cc:2341
      #8  0x000055db7a6e7639 in ha_innobase::create (this=0x7f1ac0179128, name=0x7f1ac008b168 "test/t8", form=0x7f1ac009aa30, create_info=0x7f1b1dbb31c0, file_per_table=true, trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:12587
      #9  0x000055db7a6d49a4 in ha_innobase::truncate (this=0x7f1ac0179128) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:13200
      #10 0x000055db7a3b0247 in handler::ha_truncate (this=0x7f1ac0179128) at /data/src/10.3/sql/handler.cc:4306
      #11 0x000055db7a57a29a in Sql_cmd_truncate_table::handler_truncate (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020, is_tmp_table=false) at /data/src/10.3/sql/sql_truncate.cc:242
      #12 0x000055db7a57a9a1 in Sql_cmd_truncate_table::truncate_table (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020) at /data/src/10.3/sql/sql_truncate.cc:448
      #13 0x000055db7a57ab26 in Sql_cmd_truncate_table::execute (this=0x7f1ac002a670, thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_truncate.cc:504
      #14 0x000055db7a0b7043 in mysql_execute_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:6283
      #15 0x000055db7a0bc113 in mysql_parse (thd=0x7f1ac0000b00, rawbuf=0x7f1ac0029f18 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", length=42, parser_state=0x7f1b1dbb4640, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8090
      #16 0x000055db7a0a92d9 in dispatch_command (command=COM_QUERY, thd=0x7f1ac0000b00, packet=0x7f1ac000b1e1 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", packet_length=42, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1850
      #17 0x000055db7a0a7cfd in do_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:1395
      #18 0x000055db7a20f9d2 in do_handle_one_connection (connect=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1402
      #19 0x000055db7a20f756 in handle_one_connection (arg=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1308
      #20 0x00007f1b34e3f494 in start_thread (arg=0x7f1b1dbb5700) at pthread_create.c:333
      #21 0x00007f1b3344093f in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      Not reproducible on 10.1.

      Attachments

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value
            Affects Version/s 10.2 [ 14601 ]
            elenst Elena Stepanova made changes -
            Description {color:red}Reproducible, work in progress{color}

            {noformat:title=10.3 06e5f28f9}
            2018-11-23 15:22:36 13 [ERROR] InnoDB: Cannot rename table 'test/#sql-ib269-2948221008' to 'test/t8' since the dictionary cache already contains 'test/t8'.
            2018-11-23 15:22:36 0x7f1b1dbb5700 InnoDB: Assertion failure in file /data/src/10.3/storage/innobase/row/row0mysql.cc line 2341
            InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH

            #6 0x000055db7a8f213d in ut_dbg_assertion_failed (expr=0x55db7ae96aa8 "trx->dict_operation_lock_mode == RW_X_LATCH", file=0x55db7ae95980 "/data/src/10.3/storage/innobase/row/row0mysql.cc", line=2341) at /data/src/10.3/storage/innobase/ut/ut0dbg.cc:60
            #7 0x000055db7a8244a7 in row_mysql_unlock_data_dictionary (trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/row/row0mysql.cc:2341
            #8 0x000055db7a6e7639 in ha_innobase::create (this=0x7f1ac0179128, name=0x7f1ac008b168 "test/t8", form=0x7f1ac009aa30, create_info=0x7f1b1dbb31c0, file_per_table=true, trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:12587
            #9 0x000055db7a6d49a4 in ha_innobase::truncate (this=0x7f1ac0179128) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:13200
            #10 0x000055db7a3b0247 in handler::ha_truncate (this=0x7f1ac0179128) at /data/src/10.3/sql/handler.cc:4306
            #11 0x000055db7a57a29a in Sql_cmd_truncate_table::handler_truncate (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020, is_tmp_table=false) at /data/src/10.3/sql/sql_truncate.cc:242
            #12 0x000055db7a57a9a1 in Sql_cmd_truncate_table::truncate_table (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020) at /data/src/10.3/sql/sql_truncate.cc:448
            #13 0x000055db7a57ab26 in Sql_cmd_truncate_table::execute (this=0x7f1ac002a670, thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_truncate.cc:504
            #14 0x000055db7a0b7043 in mysql_execute_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:6283
            #15 0x000055db7a0bc113 in mysql_parse (thd=0x7f1ac0000b00, rawbuf=0x7f1ac0029f18 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", length=42, parser_state=0x7f1b1dbb4640, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8090
            #16 0x000055db7a0a92d9 in dispatch_command (command=COM_QUERY, thd=0x7f1ac0000b00, packet=0x7f1ac000b1e1 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", packet_length=42, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1850
            #17 0x000055db7a0a7cfd in do_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:1395
            #18 0x000055db7a20f9d2 in do_handle_one_connection (connect=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1402
            #19 0x000055db7a20f756 in handle_one_connection (arg=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1308
            #20 0x00007f1b34e3f494 in start_thread (arg=0x7f1b1dbb5700) at pthread_create.c:333
            #21 0x00007f1b3344093f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}
            {color:red}Reproducible, work in progress{color}

            {noformat:title=10.3 06e5f28f9}
            2018-11-23 15:22:36 13 [ERROR] InnoDB: Cannot rename table 'test/#sql-ib269-2948221008' to 'test/t8' since the dictionary cache already contains 'test/t8'.
            2018-11-23 15:22:36 0x7f1b1dbb5700 InnoDB: Assertion failure in file /data/src/10.3/storage/innobase/row/row0mysql.cc line 2341
            InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH

            #6 0x000055db7a8f213d in ut_dbg_assertion_failed (expr=0x55db7ae96aa8 "trx->dict_operation_lock_mode == RW_X_LATCH", file=0x55db7ae95980 "/data/src/10.3/storage/innobase/row/row0mysql.cc", line=2341) at /data/src/10.3/storage/innobase/ut/ut0dbg.cc:60
            #7 0x000055db7a8244a7 in row_mysql_unlock_data_dictionary (trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/row/row0mysql.cc:2341
            #8 0x000055db7a6e7639 in ha_innobase::create (this=0x7f1ac0179128, name=0x7f1ac008b168 "test/t8", form=0x7f1ac009aa30, create_info=0x7f1b1dbb31c0, file_per_table=true, trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:12587
            #9 0x000055db7a6d49a4 in ha_innobase::truncate (this=0x7f1ac0179128) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:13200
            #10 0x000055db7a3b0247 in handler::ha_truncate (this=0x7f1ac0179128) at /data/src/10.3/sql/handler.cc:4306
            #11 0x000055db7a57a29a in Sql_cmd_truncate_table::handler_truncate (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020, is_tmp_table=false) at /data/src/10.3/sql/sql_truncate.cc:242
            #12 0x000055db7a57a9a1 in Sql_cmd_truncate_table::truncate_table (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020) at /data/src/10.3/sql/sql_truncate.cc:448
            #13 0x000055db7a57ab26 in Sql_cmd_truncate_table::execute (this=0x7f1ac002a670, thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_truncate.cc:504
            #14 0x000055db7a0b7043 in mysql_execute_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:6283
            #15 0x000055db7a0bc113 in mysql_parse (thd=0x7f1ac0000b00, rawbuf=0x7f1ac0029f18 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", length=42, parser_state=0x7f1b1dbb4640, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8090
            #16 0x000055db7a0a92d9 in dispatch_command (command=COM_QUERY, thd=0x7f1ac0000b00, packet=0x7f1ac000b1e1 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", packet_length=42, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1850
            #17 0x000055db7a0a7cfd in do_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:1395
            #18 0x000055db7a20f9d2 in do_handle_one_connection (connect=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1402
            #19 0x000055db7a20f756 in handle_one_connection (arg=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1308
            #20 0x00007f1b34e3f494 in start_thread (arg=0x7f1b1dbb5700) at pthread_create.c:333
            #21 0x00007f1b3344093f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            Not reproducible on 10.1.
            elenst Elena Stepanova made changes -
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Assignee Elena Stepanova [ elenst ] Marko Mäkelä [ marko ]
            Description {color:red}Reproducible, work in progress{color}

            {noformat:title=10.3 06e5f28f9}
            2018-11-23 15:22:36 13 [ERROR] InnoDB: Cannot rename table 'test/#sql-ib269-2948221008' to 'test/t8' since the dictionary cache already contains 'test/t8'.
            2018-11-23 15:22:36 0x7f1b1dbb5700 InnoDB: Assertion failure in file /data/src/10.3/storage/innobase/row/row0mysql.cc line 2341
            InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH

            #6 0x000055db7a8f213d in ut_dbg_assertion_failed (expr=0x55db7ae96aa8 "trx->dict_operation_lock_mode == RW_X_LATCH", file=0x55db7ae95980 "/data/src/10.3/storage/innobase/row/row0mysql.cc", line=2341) at /data/src/10.3/storage/innobase/ut/ut0dbg.cc:60
            #7 0x000055db7a8244a7 in row_mysql_unlock_data_dictionary (trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/row/row0mysql.cc:2341
            #8 0x000055db7a6e7639 in ha_innobase::create (this=0x7f1ac0179128, name=0x7f1ac008b168 "test/t8", form=0x7f1ac009aa30, create_info=0x7f1b1dbb31c0, file_per_table=true, trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:12587
            #9 0x000055db7a6d49a4 in ha_innobase::truncate (this=0x7f1ac0179128) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:13200
            #10 0x000055db7a3b0247 in handler::ha_truncate (this=0x7f1ac0179128) at /data/src/10.3/sql/handler.cc:4306
            #11 0x000055db7a57a29a in Sql_cmd_truncate_table::handler_truncate (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020, is_tmp_table=false) at /data/src/10.3/sql/sql_truncate.cc:242
            #12 0x000055db7a57a9a1 in Sql_cmd_truncate_table::truncate_table (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020) at /data/src/10.3/sql/sql_truncate.cc:448
            #13 0x000055db7a57ab26 in Sql_cmd_truncate_table::execute (this=0x7f1ac002a670, thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_truncate.cc:504
            #14 0x000055db7a0b7043 in mysql_execute_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:6283
            #15 0x000055db7a0bc113 in mysql_parse (thd=0x7f1ac0000b00, rawbuf=0x7f1ac0029f18 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", length=42, parser_state=0x7f1b1dbb4640, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8090
            #16 0x000055db7a0a92d9 in dispatch_command (command=COM_QUERY, thd=0x7f1ac0000b00, packet=0x7f1ac000b1e1 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", packet_length=42, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1850
            #17 0x000055db7a0a7cfd in do_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:1395
            #18 0x000055db7a20f9d2 in do_handle_one_connection (connect=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1402
            #19 0x000055db7a20f756 in handle_one_connection (arg=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1308
            #20 0x00007f1b34e3f494 in start_thread (arg=0x7f1b1dbb5700) at pthread_create.c:333
            #21 0x00007f1b3344093f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            Not reproducible on 10.1.
            {code:sql}
            --source include/have_innodb.inc

            CREATE TABLE t1 (c VARCHAR(1024), KEY(c)) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
            ALTER TABLE t1 ROW_FORMAT=REDUNDANT;
            TRUNCATE TABLE t1;

            # Cleanup
            DROP TABLE t1;
            {code}

            {noformat:title=10.3 06e5f28f9}
            2018-11-23 15:22:36 13 [ERROR] InnoDB: Cannot rename table 'test/#sql-ib269-2948221008' to 'test/t8' since the dictionary cache already contains 'test/t8'.
            2018-11-23 15:22:36 0x7f1b1dbb5700 InnoDB: Assertion failure in file /data/src/10.3/storage/innobase/row/row0mysql.cc line 2341
            InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH

            #6 0x000055db7a8f213d in ut_dbg_assertion_failed (expr=0x55db7ae96aa8 "trx->dict_operation_lock_mode == RW_X_LATCH", file=0x55db7ae95980 "/data/src/10.3/storage/innobase/row/row0mysql.cc", line=2341) at /data/src/10.3/storage/innobase/ut/ut0dbg.cc:60
            #7 0x000055db7a8244a7 in row_mysql_unlock_data_dictionary (trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/row/row0mysql.cc:2341
            #8 0x000055db7a6e7639 in ha_innobase::create (this=0x7f1ac0179128, name=0x7f1ac008b168 "test/t8", form=0x7f1ac009aa30, create_info=0x7f1b1dbb31c0, file_per_table=true, trx=0x7f1b30093450) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:12587
            #9 0x000055db7a6d49a4 in ha_innobase::truncate (this=0x7f1ac0179128) at /data/src/10.3/storage/innobase/handler/ha_innodb.cc:13200
            #10 0x000055db7a3b0247 in handler::ha_truncate (this=0x7f1ac0179128) at /data/src/10.3/sql/handler.cc:4306
            #11 0x000055db7a57a29a in Sql_cmd_truncate_table::handler_truncate (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020, is_tmp_table=false) at /data/src/10.3/sql/sql_truncate.cc:242
            #12 0x000055db7a57a9a1 in Sql_cmd_truncate_table::truncate_table (this=0x7f1ac002a670, thd=0x7f1ac0000b00, table_ref=0x7f1ac002a020) at /data/src/10.3/sql/sql_truncate.cc:448
            #13 0x000055db7a57ab26 in Sql_cmd_truncate_table::execute (this=0x7f1ac002a670, thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_truncate.cc:504
            #14 0x000055db7a0b7043 in mysql_execute_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:6283
            #15 0x000055db7a0bc113 in mysql_parse (thd=0x7f1ac0000b00, rawbuf=0x7f1ac0029f18 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", length=42, parser_state=0x7f1b1dbb4640, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:8090
            #16 0x000055db7a0a92d9 in dispatch_command (command=COM_QUERY, thd=0x7f1ac0000b00, packet=0x7f1ac000b1e1 "TRUNCATE TABLE t8 /* QNO 8334 CON_ID 18 */", packet_length=42, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1850
            #17 0x000055db7a0a7cfd in do_command (thd=0x7f1ac0000b00) at /data/src/10.3/sql/sql_parse.cc:1395
            #18 0x000055db7a20f9d2 in do_handle_one_connection (connect=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1402
            #19 0x000055db7a20f756 in handle_one_connection (arg=0x55db7d139b70) at /data/src/10.3/sql/sql_connect.cc:1308
            #20 0x00007f1b34e3f494 in start_thread (arg=0x7f1b1dbb5700) at pthread_create.c:333
            #21 0x00007f1b3344093f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            Not reproducible on 10.1.
            Summary [Draft] InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH upon TRUNCATE TABLE InnoDB: Failing assertion: trx->dict_operation_lock_mode == RW_X_LATCH upon TRUNCATE TABLE after converting to REDUNDANT
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2018-11-26 10:58:43.0 2018-11-26 10:58:43.136
            marko Marko Mäkelä made changes -
            Component/s Locking [ 10900 ]
            Fix Version/s 10.4.1 [ 23228 ]
            Fix Version/s 10.2.20 [ 23212 ]
            Fix Version/s 10.3.12 [ 23214 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Fix Version/s 10.4 [ 22408 ]
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 90846 ] MariaDB v4 [ 155258 ]

            People

              marko Marko Mäkelä
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.