Bug #33784 Path name including '#' character will cause ndbd failed to start
Submitted: 10 Jan 2008 3:05 Modified: 10 Jan 2008 10:52
Reporter: Zhenxing He Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:mysql-5.1 OS:Any
Assigned to: CPU Architecture:Any
Tags: 5.0, 5.1, ndbd

[10 Jan 2008 3:05] Zhenxing He
Description:
If the source tree is put in a path that including '#' character, ndbd will fail to start. '#' is used as a comment character, so the DataDir is recognized incorrectly if there is a '#' in the pathname, although put a '#' character in the pathname is not a good habit, but it's allowed by the OS.

How to repeat:
assume we have an already built source tree mysql-5.1.23, now do the following:

$ mv mysql-5.1.23 mysql-5.1.23#test
$ cd mysql-5.1.23#test/mysql-test
$ ./mtr

the test will hange at installing slave cluster, and you will see error in var/ndbcluster-*/ndb-*.log, and you will see a line like this in var/ndbcluster-*/config.ini:

DataDir= /work/mysql/bkwork/mysql-5.1.23#test/mysql-test/var/ndbcluster-9311

Suggested fix:
Add quote support for ndbd configuration file:
DataDir="/work/mysql/bkwork/mysql-5.1.23#test/mysql-test/var/ndbcluster-931"