Bug #68905 mysqlfrm bootstrap server fails to start in time, left running
Submitted: 9 Apr 2013 22:53 Modified: 12 Jun 2013 7:12
Reporter: Todd Farmer (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Utilities Severity:S2 (Serious)
Version:1.3.0 OS:Any
Assigned to: CPU Architecture:Any

[9 Apr 2013 22:53] Todd Farmer
Description:
When running mysqlfrm on my WinXP box and a --basedir pointing to 5.6, mysqld fails to start within the threshold allowed by mysqlfrm, and the utility aborts (but mysqld eventually starts, and is left running, abandoned):

C:\Program Files\MySQL\MySQL Utilities>mysqlfrm --basedir=D:\mysql-advanced-5.6.10-win32 D:\mysql-advanced-5.6.10-win32\data\mysql\user.frm --port=3004  -vvv
# Checking read access to .frm files
# Creating a temporary datadir = c:\docume~1\tofarmer\locals~1\temp\tmpf2wk_d
# Starting the spawned server on port 3004 ...
# Cloning the MySQL server located at D:\mysql-advanced-5.6.10-win32.
# Configuring new instance...
# Locating mysql tools...
# Location of files:
#                       mysqld: D:\mysql-advanced-5.6.10-win32\bin\mysqld.exe
#                   mysqladmin: D:\mysql-advanced-5.6.10-win32\bin\mysqladmin.ex
e
#      mysql_system_tables.sql: D:\mysql-advanced-5.6.10-win32\share\mysql_syste
m_tables.sql
# mysql_system_tables_data.sql: D:\mysql-advanced-5.6.10-win32\share\mysql_syste
m_tables_data.sql
# mysql_test_data_timezone.sql: D:\mysql-advanced-5.6.10-win32\share\mysql_test_
data_timezone.sql
#         fill_help_tables.sql: D:\mysql-advanced-5.6.10-win32\share\fill_help_t
ables.sql
# Setting up empty database and mysql tables...
2013-04-09 14:14:53 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
# Starting new instance of the server...
# Startup command for new server:
D:\mysql-advanced-5.6.10-win32\bin\mysqld.exe --no-defaults  --user=root --datad
ir=c:\docume~1\tofarmer\locals~1\temp\tmpf2wk_d --tmpdir=c:\docume~1\tofarmer\lo
cals~1\temp\tmpf2wk_d  --pid-file=c:\docume~1\tofarmer\locals~1\temp\tmpf2wk_d\c
lone.pid --port=3004 --server-id=101 --basedir=D:\mysql-advanced-5.6.10-win32 --
socket=c:\docume~1\tofarmer\locals~1\temp\tmpf2wk_d/mysql.sock
# Testing connection to new instance...
2013-04-09 14:15:12 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
# trying again...
# trying again...
# trying again...
# trying again...
# trying again...
# trying again...
# trying again...
# trying again...
# trying again...
# trying again...
ERROR: Unable to communicate with new instance.

C:\Program Files\MySQL\MySQL Utilities>

MySQL 5.6 started slow on my WinXP box due to lack of IPv6 support, but that was enabled and it now starts in 1 second manually, so it's unclear why the bootstrapped mysqld startup is so extended.

How to repeat:
See above.

Suggested fix:
1.  Ensure that a bootstrapped mysqld is never left running when mysqlfrm exits.
2.  Identify and resolve cause of 5.6 server startup
[12 Jun 2013 7:12] Philip Olson
Fixed as of the upcoming MySQL Utilities 1.3.2 release, and here's the changelog entry:

The "mysqlserverclone" and "mysqlfrm" utilities now accept a timeout to
wait option ("--timeout") for the cloned server to start. This helps
situations where the mysqld process takes a long time to start. The
default "--timeout" value is 10 seconds.

Thank you for the bug report.