Fisheye - MySql 5.6 Migration From hsql Constraint Issue (Specified key was too long; max key length is 767 bytes)
Asked by Mahesh Chavan:

When migrating from hsql to MySql 5.6 (pretty much fresh installation) I am getting an error which does not allow completion of migration. An exception is thrown when a constraint is applied to the following table:

{noformat} ERROR - Database migration failed: com.cenqua.crucible.hibernate.CruDBException: Problem with constraints script /opt/applications/fecru-2.10.1/sql/MYSQL/schema/constraints_80.sql

com.cenqua.crucible.hibernate.CruDBException: Problem with constraints script /opt/applications/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:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

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 {noformat}


Answers:
author: vkharisma
body: Hi Mahesh,

This is a bug that currently being tracked by our developer here: [https://jira.atlassian.com/browse/FE-4507
If](https://jira.atlassian.com/browse/FE-4507%3Cbr%3E%3Cbr%3EIf) this is a new MySQL instance, can you try downgrading to MySQL 5.5?

Cheers,


Tags: database

hsql

migration

mysql