Symptom
If you see this on an initial DCC install server.log:
2011-08-11 17:24:41,151 ERROR - Error starting up server
com.r1soft.backup.server.exception.StartupException: Could not start Database Service
at com.r1soft.control.MySQLWrapper.start(MySQLWrapper.java:90)
at com.r1soft.ControlMain.configureWrapperTasks(ControlMain.java:351)
at com.r1soft.ControlMain.main(ControlMain.java:316)
at com.r1soft.ControlMain.run(ControlMain.java:236)
Caused by: com.r1soft.backup.server.exception.StartupException: Could not start Database Service
at com.r1soft.control.InitMySQL.initDatabase(InitMySQL.java:91)
at com.r1soft.control.MySQLWrapper.start(MySQLWrapper.java:76)
... 3 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Column length too big for column 'PATH' (max = 21845); use BLOB or TEXT instead
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
Cause
In CDP Server the disk safe path is set to 21,845 characters. UTF-8 has to reserve 3 bytes per character, so with only one other variable we exceed the MySQL limitation of 64K worth of data on a single row, and the DB table create will fail.
Resolution
To work around this, we'll have to drop and readd the database w/ LATIN1 character set. For example:
mysql> drop database dcc3140dev;
Query OK, 13 rows affected (0.14 sec)
mysql> create database dcc3140dev;
Query OK, 1 row affected (0.00 sec)
mysql> alter database dcc3140dev character set=latin1;
Query OK, 1 row affected (0.01 sec)