Description
DB migration from HSQLDB to MySQL 5.6 failing with:
2013-02-14 09:48:17,932 ERROR [ThreadPool2 ] fisheye DBEditHelper-doGet - Database migration failed: com.cenqua.crucible.hibernate.CruDBException: Problem with constraints script C:\fecru\fecru-2.10.1\sql\MYSQL\schema\constraints_80.sql com.cenqua.crucible.hibernate.CruDBException: Problem with constraints script C:\fecru\fecru-2.10.1\sql\MYSQL\schema\constraints_80.sql at com.cenqua.crucible.hibernate.DefaultDBControl.addConstraints(DefaultDBControl.java:344) at com.atlassian.crucible.migration.item.DBImporter.importData(DBImporter.java:145) at com.atlassian.crucible.actions.admin.database.DBEditHelper$ImportRunner.call(DBEditHelper.java:90) at com.atlassian.crucible.actions.admin.database.DBEditHelper$ImportRunner.call(DBEditHelper.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) Caused by: com.cenqua.crucible.hibernate.CruDBException: SQL script error on line 124: "create index cru_idx_stored_path on cru_stored_path (cru_path);" (Specified key was too long; max key length is 767 bytes), please contact http://www.atlassian.com/support/ at com.cenqua.crucible.hibernate.DefaultDBControl.executeScript(DefaultDBControl.java:510) at com.cenqua.crucible.hibernate.DefaultDBControl.executeScript(DefaultDBControl.java:441) at com.cenqua.crucible.hibernate.DefaultDBControl.addConstraints(DefaultDBControl.java:338) ... 10 more Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) at com.mysql.jdbc.Util.getInstance(Util.java:386) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2788) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1816) at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1730) at com.cenqua.crucible.hibernate.DefaultDBControl.executeScript(DefaultDBControl.java:482) ... 12 more
This seems to have exceeded the Innodb limit of 767 bytes.
Not being experienced on MySQL 5.5