Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Crucible - MySql 5.6 Migration From hsql Constraint Issue (Specified key was too long; max key length is 767 bytes)

Brian Van Grunsven February 13, 2013

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:

create table cru_stored_path (cru_path_id integer not null, cru_path varchar(1000), primary key (cru_path_id)) ENGINE=InnoDB;

constraint:

create index cru_idx_stored_path on cru_stored_path (cru_path);

with stack trace:

2013-02-13 15:57:42,152 ERROR ThreadPool4 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

2 answers

0 votes
John Conde February 20, 2013

I'm having the same problem.

If the problem is just in the migration script, is there a way to tell FishEye to throw away the current DB and start again with MySQL?

Or is Fisheye/Crucible just unable to play with MySQL 5.6 at all (for now)?

--- Answering my own question: No it's not just a migrate bug. As far as I can tell the current build of FishEye can not be made to work with the current build of MySql (5.6). Isn't that something you should tell customers up front? Like in big red flashy letters on the download page?

0 votes
vkharisma
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 20, 2013

Hi Brian,

This is a bug that currently being tracked by our developer here: https://jira.atlassian.com/browse/FE-4507

If
this is a new MySQL instance, can you try downgrading to MySQL 5.5?

Cheers,

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events