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

parts.alter_table fails on case-insensitive filesystems

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Duplicate
    • 11.8
    • N/A
    • Partitioning
    • None
    • Not for Release Notes

    Description

      Tested on Windows, on 11.8, first affected version unknown, might be earlier.

      Note: Buildbot does not run parts suite on Windows, or we'd seen it earlier.

      Problem 1.

      lcase_def combination assumes case-insensitivity. This does not work well everywhere.

      parts.alter_table 'aria,lcase_def,range' [ fail ]
              Test ended at 2025-09-24 14:29:43
       
      CURRENT_TEST: parts.alter_table
      --- E:/11.8/mysql-test/suite/parts/r/alter_table.result 2025-08-04 12:14:30.733410000 +0200
      +++ E:\11.8\mysql-test\suite\parts\r\alter_table.reject 2025-09-24 14:29:43.362161700 +0200
      @@ -229,7 +229,7 @@
       alter table t1 convert partition p3 to table EXISTENT.TP3;
       show create table EXISTENT.TP3;
       Table  Create Table
      -TP3    CREATE TABLE `TP3`-ok (
      +TP3    CREATE TABLE `tp3` (
         `x` int(11) DEFAULT NULL
       ) ENGINE=X DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
       select * from EXISTENT.TP3 order by x;
      

      Problem 2. lcase2 asserts in MDL

      parts.alter_table 'aria,lcase2,range'    [ fail ]
              Test ended at 2025-09-24 14:45:25
       
      CURRENT_TEST: parts.alter_table
      mysqltest: At line 236: query 'alter table t1 convert partition p3 to table EXISTENT.TP3' failed: <Unknown> (2013): Lost connection to server during query
       
      The result from queries just before the failure was:
      < snip >
      t1      CREATE TABLE `t1` (
        `x` int(11) DEFAULT NULL
      ) ENGINE=X DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
       PARTITION BY RANGE (`x`)
      (PARTITION `p1` VALUES LESS THAN (10) ENGINE = X,
       PARTITION `p3` VALUES LESS THAN (30) ENGINE = X,
       PARTITION `p4` VALUES LESS THAN (40) ENGINE = X,
       PARTITION `p5` VALUES LESS THAN (50) ENGINE = X,
       PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = X)
      select * from t1 order by x;
      x
      2
      22
      32
      42
      52
      alter table t1 convert partition p3 to table inexistent.tp3;
      ERROR 42000: Unknown database 'inexistent'
      create database EXISTENT;
      alter table t1 convert partition p3 to table EXISTENT.TP3;
       
      More results from queries before failure can be found in E:\11.8\xxx\mysql-test\var\log\alter_table.log
       
       
      Server [mysqld.1 - pid: 38116, winpid: 38116, exit: 768] failed during test run
      Server log from this test:
      ----------SERVER LOG START-----------
      $ E:/11.8/xxx/sql//Debug/mariadbd.exe --defaults-group-suffix=.1 --defaults-file=E:/11.8/xxx/mysql-test/var/my.cnf --log-output=file --default-storage-engine=aria --lower_case_table_names=2 --loose-enable-partition --innodb --innodb-cmpmem --innodb-cmp-per-index --innodb-trx --innodb-locks --innodb-lock-waits --innodb-metrics --innodb-buffer-pool-stats --innodb-buffer-page --innodb-buffer-page-lru --innodb-sys-columns --innodb-sys-fields --innodb-sys-foreign --innodb-sys-foreign-cols --innodb-sys-indexes --innodb-sys-tables --innodb-sys-virtual --innodb --innodb-cmpmem --innodb-cmp-per-index --innodb-trx --innodb-locks --innodb-lock-waits --innodb-metrics --innodb-buffer-pool-stats --innodb-buffer-page --innodb-buffer-page-lru --innodb-sys-columns --innodb-sys-fields --innodb-sys-foreign --innodb-sys-foreign-cols --innodb-sys-indexes --innodb-sys-tables --innodb-sys-virtual --core-file --loose-debug-sync-timeout=300
      2025-09-24 14:45:20 0 [Note] Starting MariaDB 11.8.4-MariaDB-debug-log source revision a667c0c0e1bdd8a53091929b970dd3d6073e600f server_uid efEXG43BBq06L3kDxqZun/3aOeg= as process 22400
      2025-09-24 14:45:20 0 [Note] InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
      2025-09-24 14:45:20 0 [Note] InnoDB: Compressed tables use zlib 1.3.1
      2025-09-24 14:45:20 0 [Note] InnoDB: Number of transaction pools: 1
      2025-09-24 14:45:20 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
      2025-09-24 14:45:20 0 [Note] InnoDB: Using ThreadPool
      2025-09-24 14:45:20 0 [Note] InnoDB: innodb_buffer_pool_size_max=8m, innodb_buffer_pool_size=8m
      2025-09-24 14:45:20 0 [Note] InnoDB: Completed initialization of buffer pool
      2025-09-24 14:45:20 0 [Note] InnoDB: File system buffers for log disabled (block size=4096 bytes)
      2025-09-24 14:45:20 0 [Note] InnoDB: End of log at LSN=58668
      2025-09-24 14:45:20 0 [Note] InnoDB: Opened 3 undo tablespaces
      2025-09-24 14:45:20 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.
      2025-09-24 14:45:20 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
      2025-09-24 14:45:20 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
      2025-09-24 14:45:20 0 [Note] InnoDB: log sequence number 58668; transaction id 16
      2025-09-24 14:45:20 0 [Note] InnoDB: Loading buffer pool(s) from E:\11.8\xxx\mysql-test\var\mysqld.1\data\ib_buffer_pool
      2025-09-24 14:45:20 0 [Note] Plugin 'SEQUENCE' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_FT_CONFIG' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_SYS_TABLESTATS' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_FT_DELETED' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_CMP' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'THREAD_POOL_WAITS' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_CMP_RESET' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'THREAD_POOL_QUEUES' is disabled.
      2025-09-24 14:45:20 0 [Note] InnoDB: Buffer pool(s) load completed at 250924 14:45:20
      2025-09-24 14:45:20 0 [Note] Plugin 'FEEDBACK' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_FT_INDEX_TABLE' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'THREAD_POOL_GROUPS' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_CMP_PER_INDEX_RESET' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_FT_INDEX_CACHE' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_FT_BEING_DELETED' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_CMPMEM_RESET' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_FT_DEFAULT_STOPWORD' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_SYS_TABLESPACES' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'user_variables' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'INNODB_TABLESPACES_ENCRYPTION' is disabled.
      2025-09-24 14:45:20 0 [Note] Plugin 'THREAD_POOL_STATS' is disabled.
      2025-09-24 14:45:20 0 [Note] mariadbd.exe: SSPI: using principal name 'localhost', mech 'Negotiate'
      2025-09-24 14:45:20 0 [Warning] E:/11.8/xxx/sql//Debug/mariadbd.exe: unknown option '--loose-pam-debug'
      2025-09-24 14:45:20 0 [Warning] E:/11.8/xxx/sql//Debug/mariadbd.exe: unknown option '--loose-aria'
      2025-09-24 14:45:20 0 [Note] Server socket created on IP: '::', port: '19000'.
      2025-09-24 14:45:20 0 [Note] Server socket created on IP: '0.0.0.0', port: '19000'.
      2025-09-24 14:45:20 0 [Note] mariadbd.exe: Event Scheduler: Loaded 0 events
      2025-09-24 14:45:20 0 [Note] E:/11.8/xxx/sql//Debug/mariadbd.exe: ready for connections.
      Version: '11.8.4-MariaDB-debug-log'  socket: ''  port: 19000  Source distribution
      Assertion failed: mdl_namespace_arg == USER_LOCK || Lex_ident_fs(db, m_db_name_length). ok_for_lower_case_names(), file E:\11.8\sql\mdl.h, line 441
      250924 14:45:21 [ERROR] E:/11.8/xxx/sql//Debug/mariadbd.exe got exception 0x80000003 ;
      Sorry, we probably made a mistake, and this is a bug.
       
      Your assistance in bug reporting will enable us to fix this for the next release.
      To report this bug, see https://mariadb.com/kb/en/reporting-bugs about how to report
      a bug on https://jira.mariadb.org/.
       
      Please include the information from the server start above, to the end of the
      information below.
       
      Server version: 11.8.4-MariaDB-debug-log source revision: a667c0c0e1bdd8a53091929b970dd3d6073e600f
       
      The information page at https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mariadbd/
      contains instructions to obtain a better version of the backtrace below.
      Following these instructions will help MariaDB developers provide a fix quicker.
       
      Attempting backtrace. Include this in the bug report.
      (note: Retrieving this information may fail)
       
      Thread pointer: 0x238151cf4a8
      server.dll!my_sigabrt_handler()[my_thr_init.c:449]
      ucrtbase.dll!raise()
      ucrtbase.dll!abort()
      ucrtbase.dll!_get_wpgmptr()
      ucrtbase.dll!_wassert()
      server.dll!MDL_key::mdl_key_init()[mdl.h:439]
      server.dll!MDL_request::init_with_source()[mdl.cc:1021]
      server.dll!mysql_alter_table()[sql_table.cc:11003]
      server.dll!Sql_cmd_alter_table::execute()[sql_alter.cc:701]
      server.dll!mysql_execute_command()[sql_parse.cc:5882]
      server.dll!mysql_parse()[sql_parse.cc:7905]
      server.dll!dispatch_command()[sql_parse.cc:1903]
      server.dll!do_command()[sql_parse.cc:1416]
      server.dll!threadpool_process_request()[threadpool_common.cc:438]
      server.dll!tp_callback()[threadpool_common.cc:252]
      server.dll!tp_callback()[threadpool_win.cc:279]
      server.dll!io_completion_callback()[threadpool_win.cc:300]
      KERNEL32.DLL!BasepConstructSxsCreateProcessMessage()
      ntdll.dll!TpWaitForTimer()
      ntdll.dll!RtlRaiseStatus()
      KERNEL32.DLL!BaseThreadInitThunk()
      ntdll.dll!RtlUserThreadStart()
       
      Connection ID (thread ID): 4
      Status: NOT_KILLED
      Query (0x23815167e70): alter table t1 convert partition p3 to table EXISTENT.TP3
      Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=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=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off,hash_join_cardinality=on,cset_narrowing=on,sargable_casefold=on
       
      Writing a core file at E:\11.8\xxx\mysql-test\var\mysqld.1\data
      Minidump written to E:\11.8\xxx\mysql-test\var\mysqld.1\data\mariadbd.dmp
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            wlad Vladislav Vaintroub
            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.