Bug #33355 Backup: hang if database is mysql
Submitted: 19 Dec 2007 3:27 Modified: 11 Aug 2008 20:17
Reporter: Peter Gulutzan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Backup Severity:S3 (Non-critical)
Version:6.0.5-alpha OS:Linux (SUSE 10 64-bit)
Assigned to: Chuck Bell CPU Architecture:Any

[19 Dec 2007 3:27] Peter Gulutzan
Description:
I use the mysql-6.0-backup source.

I say "BACKUP DATABASE mysql;"
Hang.

How to repeat:
mysql> BACKUP DATABASE mysql TO 'f';
[19 Dec 2007 11:35] MySQL Verification Team
Thank you for the bug report. On Windows it crashes:

 	mysqld.exe!Locking_thread_st::~Locking_thread_st()  + 0x2a	C++
 	mysqld.exe!open_backup_progress_table()  + 0x97	C++
 	mysqld.exe!report_ob_init()  + 0x42	C++
 	mysqld.exe!execute_backup_command()  + 0x242	C++
>	mysqld.exe!mysql_execute_command(THD * thd=)  Line 1982 + 0x7	C++
 	mysqld.exe!mysql_parse(THD * thd=0x0134be70, const char * inBuf=0x031e59d8, unsigned int length=28, const char * * found_semicolon=0x039afac0)  Line 5489	C++
 	mysqld.exe!dispatch_command(enum_server_command command=COM_QUERY, THD * thd=0x0134be70, char * packet=0x031dd9a9, unsigned int packet_length=28)  Line 927	C++
 	mysqld.exe!do_command(THD * thd=0x00000003)  Line 701 + 0xf	C++
 	mysqld.exe!handle_one_connection(void * arg=0x0134be70)  Line 1146 + 0xa	C++
 	mysqld.exe!_pthread_start()  + 0x3b	C
 	mysqld.exe!_threadstart(void * ptd=0x031d78d0)  Line 196 + 0x6	C
 	kernel32.dll!7c80b683()
[23 Jan 2008 22:52] Chuck Bell
Patch created. See http://lists.mysql.com/commits/41178.

There is an outstanding issue that must be resolved before this patch can be reviewed and accepted. 

Should backup warn user that the restricted databases (mysql, information_schema) cannot be backed up and keep processing the list of databases or should backup throw and error and stop?

The above patch assumes backup will warn and proceed.
[23 Jan 2008 22:52] Chuck Bell
Patch created. See http://lists.mysql.com/commits/41178.

There is an outstanding issue that must be resolved before this patch can be reviewed and accepted. 

Should backup warn user that the restricted databases (mysql, information_schema) cannot be backed up and keep processing the list of databases or should backup throw and error and stop?

The above patch assumes backup will warn and proceed.
[5 Feb 2008 14:32] Chuck Bell
New patch committed. See:

http://lists.mysql.com/commits/41711
[6 Feb 2008 10:14] Rafal Somla
Good to push.
[6 Feb 2008 16:21] Chuck Bell
Checking Lars' review box per his email approval on 1 February.
[6 Feb 2008 18:15] Chuck Bell
Patch queued.
[25 Feb 2008 20:19] Bugs System
Pushed into 6.0.5-alpha
[26 Feb 2008 0:29] Peter Gulutzan
There's still a tiny problem if database name is case sensitive.

mysql> create database MYSQL;
Query OK, 1 row affected (0.00 sec)

mysql> backup database MYSQL to 'f';
ERROR 1620 (HY000): Database 'MYSQL' cannot be included in a backup

If this is considered acceptable, just set back to 'Documenting'.
[5 May 2008 22:03] Chuck Bell
New patch committed to resolve issue found concerning case sensitive systems.

http://lists.mysql.com/commits/46372
[14 May 2008 13:31] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/46690

ChangeSet@1.2614, 2008-05-14 09:29:47-04:00, cbell@mysql_cab_desk. +1 -0
  BUG#33355 : Backup: hang if database is mysql
  
  Corrects issue found concerning case sensitive platforms. On case 
  sensitive platforms it was not possible to backup or restore a
  database with the name 'MYSQL' (or any other case variant) because the
  code was doing a case insensitive compare.
  
  This patch allows the use of case variant names like 'MYSQL' as a
  database for systems that have case sensitive identifiers.
[14 May 2008 13:33] Chuck Bell
New patch ready for review.

http://lists.mysql.com/commits/46690
[14 May 2008 14:52] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/46695

ChangeSet@1.2614, 2008-05-14 10:51:01-04:00, cbell@mysql_cab_desk. +1 -0
  BUG#33355 : Backup: hang if database is mysql
  
  Corrects issue found concerning case sensitive platforms. On case 
  sensitive platforms it was not possible to backup or restore a
  database with the name 'MYSQL' (or any other case variant) because the
  code was doing a case insensitive compare.
  
  This patch allows the use of case variant names like 'MYSQL' as a
  database for systems that have case sensitive identifiers.
[14 May 2008 14:53] Chuck Bell
Pushing patch after minor change.

http://lists.mysql.com/commits/46695
[14 May 2008 14:53] Chuck Bell
Pushing patch after minor change.

http://lists.mysql.com/commits/46695
[8 Aug 2008 13:33] Chuck Bell
Patch is in main.
[8 Aug 2008 16:20] Paul DuBois
Fix was pushed into 6.0.5.
[8 Aug 2008 16:27] Chuck Bell
In 6.0.5.
[11 Aug 2008 20:17] Paul DuBois
Noted in 6.0.5 changelog.

If the mysql database was named in the BACKUP DATABASE statement, the
backup operation hung.
[14 Sep 2008 1:27] Bugs System
Pushed into 6.0.7-alpha  (revid:sp1r-cbell/Chuck@mysql_cab_desk.-20080514145101-05266) (version source revid:vvaintroub@mysql.com-20080804094710-jb2qpqxpf2ir2gf3) (pib:3)