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

ALTER TABLE on the base table of a OQGRAPH table leads to crash

    Details

      Description

      CREATE TABLE rivers (
        origid INT UNSIGNED NOT NULL
      , destid INT UNSIGNED NOT NULL
      , name VARCHAR(32)
      , weight DOUBLE NOT NULL
      , PRIMARY KEY (origid, destid)
      , KEY (destid)
      );
       
      INSERT INTO rivers (origid, destid, name, weight) VALUES
        (1,2,'Rhein',1), (2,3,'Rhein',1), (3,4,'Rhein',1), (4,5,'Rhein',1), (2,6,'Rhein',1), (5,6,'Rhein',1)
      , (6,2,'Thur',2), (7,3,'Glatt',2)
      , (8,9,'Aare',2), (9,10,'Aare',2), (10,4,'Aare',2)
      , (11,12,'Reuss',3), (12,10,'Reuss',3), (13,12,'Lorze',4)
      , (14,15,'Limmat',3), (15,9,'Limmat',3), (16,15,'Reppisch',4)
      ;
       
       
      CREATE TABLE river_graph (
        latch VARCHAR(32) NULL
      , origid BIGINT UNSIGNED NULL
      , destid BIGINT UNSIGNED NULL
      , weight DOUBLE NULL
      , seq BIGINT UNSIGNED NULL
      , linkid BIGINT UNSIGNED NULL
      , KEY (latch, origid, destid) USING HASH
      , KEY (latch, destid, origid) USING HASH
      ) ENGINE=OQGRAPH data_table='rivers' origid='origid' destid='destid' weight='weight'
      ;
       
      SELECT * FROM river_graph;
       
       
      SELECT * FROM river_graph WHERE latch="leaves" AND origid=16;
      alter table rivers drop column name;
      

       
      Server version: 10.3.9-MariaDB
      key_buffer_size=134217728
      read_buffer_size=131072
      max_used_connections=3
      max_threads=153
      thread_count=7
      It is possible that mysqld could use up to 
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467396 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      Thread pointer: 0x7f63640009a8
      Attempting backtrace. You can use the following information to find out
      where mysqld died. If you see no messages after this, something went
      terribly wrong...
      stack_bottom = 0x7f63ddbf9e90 thread_stack 0x49000
      /home/mysql/product/mariadb-10.3/bin/mysqld(my_print_stacktrace+0x2b)[0x55e9829c913b]
      /home/mysql/product/mariadb-10.3/bin/mysqld(handle_fatal_signal+0x537)[0x55e9824ae837]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f63fb1fb390]
      linux/raise.c:54(__GI_raise)[0x7f63fa7ca428]
      stdlib/abort.c:91(__GI_abort)[0x7f63fa7cc02a]
      ut/ut0rbt.cc:461(rbt_eject_node(ib_rbt_node_t*, ib_rbt_node_t*) [clone .part.4])[0x55e98221e6dd]
      row/row0merge.cc:4527(row_merge_drop_table(trx_t*, dict_table_t*))[0x55e982703f6c]
      handler/handler0alter.cc:9980(ha_innobase::commit_inplace_alter_table(TABLE*, Alter_inplace_info*, bool))[0x55e98266784b]
      sql/sql_table.cc:7618(mysql_inplace_alter_table(THD*, TABLE_LIST*, TABLE*, TABLE*, Alter_inplace_info*, enum_alter_inplace_result, MDL_request*, Alter_table_ctx*) [clone .isra.227])[0x55e982212e01]
      sql/sql_table.cc:9715(mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, HA_CREATE_INFO*, TABLE_LIST*, Alter_info*, unsigned int, st_order*, bool))[0x55e98237e194]
      sql/sql_alter.cc:495(Sql_cmd_alter_table::execute(THD*))[0x55e9823c82fe]
      sql/sql_parse.cc:6284(mysql_execute_command(THD*))[0x55e9822f4eb9]
      sql/sql_class.h:1809(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55e9822fc239]
      sql/sql_parse.cc:1850(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x55e9822fe2b3]
      sql/sql_parse.cc:1397(do_command(THD*))[0x55e9822fea4e]
      sql/sql_connect.cc:1402(do_handle_one_connection(CONNECT*))[0x55e9823c4f8f]
      sql/sql_connect.cc:1310(handle_one_connection)[0x55e9823c50b4]
      perfschema/pfs.cc:1865(pfs_spawn_thread)[0x55e98262644d]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f63fb1f16ba]
      x86_64/clone.S:111(clone)[0x7f63fa89c41d]
       
      Trying to get some variables.
      Some pointers may be invalid and cause the dump to abort.
      Query (0x7f63640115f0): alter table rivers drop column name
      Connection ID (thread ID): 14
      Status: NOT_KILLED
       
      Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on
      
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                oli Oli Sennhauser
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: