Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] - Not compatible with mySql 5.6 ?
[CDO] - Not compatible with mySql 5.6 ? [message #1402262] Wed, 16 July 2014 19:26 Go to next message
Bernard Sarter is currently offline Bernard SarterFriend
Messages: 88
Registered: August 2011
Location: Paris, France
Member
Hi,

I've a CDO server (in sync with Luna), that works fine with mySql 5.5.

By moving to mySql 5.6, the start of the server fails with following stack trace:

org.eclipse.net4j.db.DBException: Specified key was too long; max key length is 767 bytes --> CREATE INDEX I1405538039238_12 ON CDO_EXTERNAL_REFS (URI(1024))
	at org.eclipse.net4j.db.DBUtil.execute(DBUtil.java:830)
	at org.eclipse.net4j.spi.db.DBAdapter.createIndex(DBAdapter.java:472)
	at org.eclipse.net4j.spi.db.DBAdapter$1.visit(DBAdapter.java:402)
	at org.eclipse.net4j.internal.db.ddl.delta.DBIndexDelta.doAccept(DBIndexDelta.java:153)
	at org.eclipse.net4j.internal.db.ddl.delta.DBDelta.accept(DBDelta.java:89)
	at org.eclipse.net4j.internal.db.ddl.delta.DBDelta.accept(DBDelta.java:98)
	at org.eclipse.net4j.internal.db.ddl.delta.DBDelta.accept(DBDelta.java:98)
	at org.eclipse.net4j.spi.db.DBAdapter.updateSchema(DBAdapter.java:420)
	at org.eclipse.net4j.internal.db.DBSchemaTransaction.run(DBSchemaTransaction.java:124)
	at org.eclipse.net4j.internal.db.DBSchemaTransaction.run(DBSchemaTransaction.java:1)
	at org.eclipse.net4j.db.DBUtil.execute(DBUtil.java:796)
	at org.eclipse.net4j.internal.db.DBSchemaTransaction.commit(DBSchemaTransaction.java:99)
	at org.eclipse.net4j.internal.db.DBDatabase.updateSchema(DBDatabase.java:129)
	at org.eclipse.emf.cdo.server.internal.db.ExternalReferenceManager.doActivate(ExternalReferenceManager.java:192)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
	at org.eclipse.emf.cdo.server.internal.db.LongIDHandler.doActivate(LongIDHandler.java:263)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
	at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:114)
	at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:104)
	at org.eclipse.emf.cdo.server.internal.db.DBStore.doActivate(DBStore.java:638)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
	at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:114)
	at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:104)
	at org.eclipse.emf.cdo.internal.server.Repository.doActivate(Repository.java:1726)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
	at org.eclipse.net4j.util.lifecycle.ShareableLifecycle.internalActivate(ShareableLifecycle.java:43)
	at org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
	at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:114)
	at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:104)
	at org.eclipse.emf.cdo.server.CDOServerUtil.addRepository(CDOServerUtil.java:277)
	at org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.configure(RepositoryConfigurator.java:188)
	at org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.configure(RepositoryConfigurator.java:160)


The config file is simple:

<?xml version="1.0" encoding="UTF-8"?>
<cdoServer>

	<acceptor type="tcp" listenAddr="0.0.0.0" port="2036" />

	<repository name="repo1">
		<property name="overrideUUID" value="1ff5d226-b1f0-40fb-aba2-0c31b38c764f" />
		<property name="supportingAudits" value="true" />

		<store type="db">
			<mappingStrategy type="horizontal">
				<property name="qualifiedNames" value="false" />
				<property name="toManyReferences" value="ONE_TABLE_PER_REFERENCE" />
				<property name="toOneReferences" value="LIKE_ATTRIBUTES" />
			</mappingStrategy>

			<dbAdapter name="mysql" />
			<dataSource class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
				url="jdbc:mysql://localhost/my_db" user="root" password="****" />

		</store>
	</repository>
</cdoServer> 


This seems to be linked to a "change" in mySql behaviour between 5.5 and 5.6, see here: http://bugs.mysql.com/bug.php?id=71613

It's not clear to me if Oracle is willing to consider this "change" as a bug or not.

I'll investigate for a workaround by changing mySql settings, but I'm also wondering if there is a chance to workaround or fix the problem inside CDO (which I would prefer) ....

Best regards,
Bernard.
Re: [CDO] - Not compatible with mySql 5.6 ? [message #1402573 is a reply to message #1402262] Thu, 17 July 2014 07:10 Go to previous messageGo to next message
Esteban Dugueperoux is currently offline Esteban DugueperouxFriend
Messages: 472
Registered: July 2009
Senior Member
Hi Bernard,

Indeed this is problematic, could you raise a bugzilla to track this
issue on CDO side.

Best Regards.

Le 16/07/2014 21:26, Bernard SARTER a écrit :
> Hi,
>
> I've a CDO server (in sync with Luna), that works fine with mySql 5.5.
>
> By moving to mySql 5.6, the start of the server fails with following
> stack trace:
>
> org.eclipse.net4j.db.DBException: Specified key was too long; max key
> length is 767 bytes --> CREATE INDEX I1405538039238_12 ON
> CDO_EXTERNAL_REFS (URI(1024))
> at org.eclipse.net4j.db.DBUtil.execute(DBUtil.java:830)
> at org.eclipse.net4j.spi.db.DBAdapter.createIndex(DBAdapter.java:472)
> at org.eclipse.net4j.spi.db.DBAdapter$1.visit(DBAdapter.java:402)
> at
> org.eclipse.net4j.internal.db.ddl.delta.DBIndexDelta.doAccept(DBIndexDelta.java:153)
>
> at
> org.eclipse.net4j.internal.db.ddl.delta.DBDelta.accept(DBDelta.java:89)
> at
> org.eclipse.net4j.internal.db.ddl.delta.DBDelta.accept(DBDelta.java:98)
> at
> org.eclipse.net4j.internal.db.ddl.delta.DBDelta.accept(DBDelta.java:98)
> at org.eclipse.net4j.spi.db.DBAdapter.updateSchema(DBAdapter.java:420)
> at
> org.eclipse.net4j.internal.db.DBSchemaTransaction.run(DBSchemaTransaction.java:124)
>
> at
> org.eclipse.net4j.internal.db.DBSchemaTransaction.run(DBSchemaTransaction.java:1)
>
> at org.eclipse.net4j.db.DBUtil.execute(DBUtil.java:796)
> at
> org.eclipse.net4j.internal.db.DBSchemaTransaction.commit(DBSchemaTransaction.java:99)
>
> at
> org.eclipse.net4j.internal.db.DBDatabase.updateSchema(DBDatabase.java:129)
> at
> org.eclipse.emf.cdo.server.internal.db.ExternalReferenceManager.doActivate(ExternalReferenceManager.java:192)
>
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
>
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
> at
> org.eclipse.emf.cdo.server.internal.db.LongIDHandler.doActivate(LongIDHandler.java:263)
>
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
>
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
> at
> org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:114)
>
> at
> org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:104)
>
> at
> org.eclipse.emf.cdo.server.internal.db.DBStore.doActivate(DBStore.java:638)
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
>
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
> at
> org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:114)
>
> at
> org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:104)
>
> at
> org.eclipse.emf.cdo.internal.server.Repository.doActivate(Repository.java:1726)
>
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.internalActivate(Lifecycle.java:76)
>
> at
> org.eclipse.net4j.util.lifecycle.ShareableLifecycle.internalActivate(ShareableLifecycle.java:43)
>
> at
> org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycle.java:162)
> at
> org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:114)
>
> at
> org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(LifecycleUtil.java:104)
>
> at
> org.eclipse.emf.cdo.server.CDOServerUtil.addRepository(CDOServerUtil.java:277)
>
> at
> org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.configure(RepositoryConfigurator.java:188)
>
> at
> org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.configure(RepositoryConfigurator.java:160)
>
>
> The config file is simple:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <cdoServer>
>
> <acceptor type="tcp" listenAddr="0.0.0.0" port="2036" />
>
> <repository name="repo1">
> <property name="overrideUUID"
> value="1ff5d226-b1f0-40fb-aba2-0c31b38c764f" />
> <property name="supportingAudits" value="true" />
>
> <store type="db">
> <mappingStrategy type="horizontal">
> <property name="qualifiedNames" value="false" />
> <property name="toManyReferences"
> value="ONE_TABLE_PER_REFERENCE" />
> <property name="toOneReferences"
> value="LIKE_ATTRIBUTES" />
> </mappingStrategy>
>
> <dbAdapter name="mysql" />
> <dataSource
> class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"
> url="jdbc:mysql://localhost/my_db" user="root"
> password="****" />
>
> </store>
> </repository>
> </cdoServer>
> This seems to be linked to a "change" in mySql behaviour between 5.5 and
> 5.6, see here: http://bugs.mysql.com/bug.php?id=71613
>
> It's not clear to me if Oracle is willing to consider this "change" as a
> bug or not.
>
> I'll investigate for a workaround by changing mySql settings, but I'm
> also wondering if there is a chance to workaround or fix the problem
> inside CDO (which I would prefer) ....
>
> Best regards,
> Bernard.
>
Re: [CDO] - Not compatible with mySql 5.6 ? [message #1402836 is a reply to message #1402573] Thu, 17 July 2014 17:45 Go to previous messageGo to next message
Bernard Sarter is currently offline Bernard SarterFriend
Messages: 88
Registered: August 2011
Location: Paris, France
Member
Done: https://bugs.eclipse.org/bugs/show_bug.cgi?id=439772.

Regards,
Bernard.
Re: [CDO] - Not compatible with mySql 5.6 ? [message #1402838 is a reply to message #1402573] Thu, 17 July 2014 17:55 Go to previous message
Bernard Sarter is currently offline Bernard SarterFriend
Messages: 88
Registered: August 2011
Location: Paris, France
Member
Done: https://bugs.eclipse.org/bugs/show_bug.cgi?id=439772.

Regards,
Bernard.
Previous Topic:[CDO] Workspace metadata filling up with CDO Javadocs
Next Topic:[CDO] Security manager failing in 'mem' store configuration ?
Goto Forum:
  


Current Time: Thu Apr 18 16:09:23 GMT 2024

Powered by FUDForum. Page generated in 0.01814 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top