Bug #16472 DD: Maximum path for datafile in CREATE TABLESPACE cannot be more than 167 bytes
Submitted: 13 Jan 2006 1:54 Modified: 26 Jan 2006 2:30
Reporter: Nikolay Grishakin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:5.1 OS:Linux (Linux)
Assigned to: Jonas Oreland CPU Architecture:Any

[13 Jan 2006 1:54] Nikolay Grishakin
Description:
Maximum path for datafile in CREATE TABLESPACE cannot be more than 167 bytes. Error is "1502: Failed to create DATAFILE"
To reproduce run the test case below. It works only if number in repeat('a', 160) statment is less than 149.

 eval CREATE LOGFILE GROUP lg1
 ADD UNDOFILE './var/undofile.dat'
 INITIAL_SIZE 16M
 UNDO_BUFFER_SIZE = 1M
 ENGINE=NDB;

let $path2 = `SELECT CONCAT('./var/', repeat('a', 160), '/datafile.dat')`;

 eval CREATE TABLESPACE ts1
 ADD DATAFILE '$path2'
 USE LOGFILE GROUP lg1
 INITIAL_SIZE 12M
 ENGINE NDB;

 eval ALTER TABLESPACE ts1
 DROP DATAFILE '$path2'
 ENGINE NDB;

 eval DROP TABLESPACE ts1 ENGINE NDB;

 eval DROP LOGFILE GROUP lg1
 ENGINE=NDB;

How to repeat:
see above
[19 Jan 2006 13:48] Jonas Oreland
I concider this to be duplicate of bug#16471
[20 Jan 2006 3:00] Omer Barnir
Can you indicate here and in future cases why this is a duplicate (i.e. because the same code is determining the path/file length, etc.) 

Just that we understand things better
Thanks
[20 Jan 2006 6:40] Jonas Oreland
ok, sure good idea.
anyway, yes
it is the exact same code handling filenames for undo/data files
[26 Jan 2006 2:30] Nikolay Grishakin
Closed as duplicate for 16471