Bug #17331 | create table with list-partitions runs forever/server crash | ||
---|---|---|---|
Submitted: | 12 Feb 2006 15:45 | Modified: | 20 Feb 2006 17:35 |
Reporter: | Peter Laursen (Basic Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S1 (Critical) |
Version: | 5.1.6 mysqld-nt/5.0.7 BK | OS: | Windows (Win XP) |
Assigned to: | CPU Architecture: | Any |
[12 Feb 2006 15:45]
Peter Laursen
[12 Feb 2006 17:01]
Peter Laursen
and this: select * from `information_schema`.`PARTITIONS` limit 0, 50; crashes the server! (INFORMATION_SCHEMA.PARTITIONS -table is empty)
[12 Feb 2006 17:09]
Peter Laursen
And of course it is a typo that I wrote 4.1.3. Should be 5.1.3 :-(
[12 Feb 2006 17:26]
Peter Laursen
I now tried all partition-types with examples from the docs, and not a single one seems to work. I can add that the /datadir is 'clean' - that is a installed with the installer. Thus it is not an issue with tables originating from a previous version.
[13 Feb 2006 11:52]
MySQL Verification Team
Which server version are you using, notice that only the mysqld-max-nt has partition: c:\mysql\bin>mysql -uroot db15 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 5.1.7-beta-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show variables like "%partition%"; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | have_partitioning | NO | +-------------------+-------+ 1 row in set (0.02 sec) mysql> CREATE TABLE employees ( -> id INT NOT NULL, -> fname VARCHAR(30), -> lname VARCHAR(30), -> hired DATE NOT NULL DEFAULT '1970-01-01', -> separated DATE NOT NULL DEFAULT '9999-12-31', -> job_code INT, -> store_id INT -> ) -> PARTITION BY LIST(store_id) ( -> PARTITION pNorth VALUES IN (3,5,6,9,17), -> PARTITION pEast VALUES IN (1,2,10,11,19,20), -> PARTITION pWest VALUES IN (4,12,13,14,18), -> PARTITION pCentral VALUES IN (7,8,15,16) -> ); Query OK, 0 rows affected (0.11 sec) mysql> show create table employees\G *************************** 1. row *************************** Table: employees Create Table: CREATE TABLE `employees` ( `id` int(11) NOT NULL, `fname` varchar(30) default NULL, `lname` varchar(30) default NULL, `hired` date NOT NULL default '1970-01-01', `separated` date NOT NULL default '9999-12-31', `job_code` int(11) default NULL, `store_id` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 1 row in set (0.00 sec) mysql> However I was able to repeat the crash: mysql> select * from `information_schema`.`PARTITIONS` limit 0, 50; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> and also with the mysqld-max-nt server: c:\mysql\bin>mysql -uroot db15 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.1.7-beta-nt-max Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select * from `information_schema`.`PARTITIONS` limit 0, 50; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> Notice below the error messages launched by the server at start after to try to create the table with partition with a server mysqld-nt: c:\mysql\bin>mysqld-max-nt --standalone --console mysqld-max-nt: Error on delete of 'C:\DOCUME~1\miguel\CONFIG~1\Temp#sql_19c_0.MYD' (Errcode: 2) mysqld-max-nt: Error on delete of 'C:\DOCUME~1\miguel\CONFIG~1\Temp#sql_19c_0.MYI' (Errcode: 2) 060213 9:32:20 InnoDB: Started; log sequence number 0 43665 060213 9:32:23 [Note] mysqld-max-nt: ready for connections. Version: '5.1.7-beta-nt-max' socket: '' port: 3306 Source distribution c:\mysql\bin>mysqld-max-nt --standalone --console mysqld-max-nt: Error on delete of 'C:\DOCUME~1\miguel\CONFIG~1\Temp#sql_19c_0.MYD' (Errcode: 2) mysqld-max-nt: Error on delete of 'C:\DOCUME~1\miguel\CONFIG~1\Temp#sql_19c_0.MYI' (Errcode: 2) mysqld-max-nt: Error on delete of 'C:\DOCUME~1\miguel\CONFIG~1\Temp#sql_b44_0.MYD' (Errcode: 2) mysqld-max-nt: Error on delete of 'C:\DOCUME~1\miguel\CONFIG~1\Temp#sql_b44_0.MYI' (Errcode: 2) InnoDB: The first specified data file .\ibdata1 did not exist: InnoDB: a new database to be created! Then I deleted these temporary files manually: c:\mysql\bin>mysqld-max-nt --standalone --console 060213 9:48:40 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... 060213 9:48:40 InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 0 43655. InnoDB: Doing recovery: scanned up to log sequence number 0 43655 060213 9:48:40 InnoDB: Started; log sequence number 0 43655 060213 9:48:40 [Note] mysqld-max-nt: ready for connections. Version: '5.1.7-beta-nt-max' socket: '' port: 3306 Source distribution and still the server crash: c:\mysql\bin>mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.1.7-beta-nt-max Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> select * from `information_schema`.`PARTITIONS` limit 0, 50; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> I was unable to repeat with Linux server.
[13 Feb 2006 13:07]
Peter Laursen
well ... there are no max server binaries in either of the windows packages (with/without installer) from the FTP-mirror. Could you explain a little more ? Also I see that you use 5.1.7. Where did yo get it from ?
[20 Feb 2006 15:46]
Peter Laursen
anybody on the air? :-) I have additional info. A "select @@have_partitioning;" returns "yes" A "select version();" returns "5.1.6-alpha-nt-max" I this in accordance with what you write? But other max-server features are told to be disabled - BDB for instance when querying the system variables. I also can add that it is a completely 'fresh' install. No tables - not system tables either - from other versions.
[20 Feb 2006 17:35]
MySQL Verification Team
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release. If necessary, you can access the source repository and build the latest available version, including the bugfix, yourself. More information about accessing the source trees is available at http://www.mysql.com/doc/en/Installing_source_tree.html Additional info: c:\mysql\bin>mysql -uroot test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 5.1.8-beta-nt-max-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE employees ( -> id INT NOT NULL, -> fname VARCHAR(30), -> lname VARCHAR(30), -> hired DATE NOT NULL DEFAULT '1970-01-01', -> separated DATE NOT NULL DEFAULT '9999-12-31', -> job_code INT, -> store_id INT -> ) -> PARTITION BY LIST(store_id) ( -> PARTITION pNorth VALUES IN (3,5,6,9,17), -> PARTITION pEast VALUES IN (1,2,10,11,19,20), -> PARTITION pWest VALUES IN (4,12,13,14,18), -> PARTITION pCentral VALUES IN (7,8,15,16) -> ); Query OK, 0 rows affected (0.08 sec) mysql> show create table employees\G *************************** 1. row *************************** Table: employees Create Table: CREATE TABLE `employees` ( `id` int(11) NOT NULL, `fname` varchar(30) default NULL, `lname` varchar(30) default NULL, `hired` date NOT NULL default '1970-01-01', `separated` date NOT NULL default '9999-12-31', `job_code` int(11) default NULL, `store_id` int(11) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (store_id) (PARTITION pNorth VALUES IN (3,5,6,9,1 7) ENGINE = MyISAM, PARTITION pEast VALUES IN (1,2,10,11,19,20) ENGINE = MyISAM, PARTITION pWest VALUES IN (4,12,13,14,18) ENGINE = MyISAM, PARTITION pCentral VALUES IN (7,8,15,16) ENGINE = MyISAM) 1 row in set (0.00 sec) mysql> select * from `information_schema`.`PARTITIONS` limit 0, 50 -> \G *************************** 1. row *************************** TABLE_CATALOG: NULL TABLE_SCHEMA: information_schema TABLE_NAME: CHARACTER_SETS PARTITION_NAME: NULL SUBPARTITION_NAME: NULL PARTITION_ORDINAL_POSITION: NULL SUBPARTITION_ORDINAL_POSITION: NULL PARTITION_METHOD: NULL SUBPARTITION_METHOD: NULL PARTITION_EXPRESSION: NULL SUBPARTITION_EXPRESSION: NULL PARTITION_DESCRIPTION: NULL TABLE_ROWS: 0 AVG_ROW_LENGTH: 576 DATA_LENGTH: 0 MAX_DATA_LENGTH: 16661376 INDEX_LENGTH: 0 DATA_FREE: 0 CREATE_TIME: NULL UPDATE_TIME: NULL CHECK_TIME: NULL CHECKSUM: NULL PARTITION_COMMENT: NODEGROUP: 0 TABLESPACE_NAME: *************************** 2. row *************************** TABLE_CATALOG: NULL <cut> TABLESPACE_NAME: default *************************** 46. row *************************** TABLE_CATALOG: NULL TABLE_SCHEMA: test TABLE_NAME: employees PARTITION_NAME: pCentral SUBPARTITION_NAME: NULL PARTITION_ORDINAL_POSITION: 4 SUBPARTITION_ORDINAL_POSITION: NULL PARTITION_METHOD: LIST SUBPARTITION_METHOD: NULL PARTITION_EXPRESSION: store_id SUBPARTITION_EXPRESSION: NULL PARTITION_DESCRIPTION: 7,8,15,16 TABLE_ROWS: 0 AVG_ROW_LENGTH: 0 DATA_LENGTH: 0 MAX_DATA_LENGTH: 281474976710655 INDEX_LENGTH: 1024 DATA_FREE: 0 CREATE_TIME: 2006-02-20 14:30:56 UPDATE_TIME: 2006-02-20 14:30:56 CHECK_TIME: NULL CHECKSUM: NULL PARTITION_COMMENT: default NODEGROUP: 0 TABLESPACE_NAME: default 46 rows in set, 2 warnings (0.06 sec)