Expand my Community achievements bar.

Installation on Linux: mysql error - max key length is 1000 bytes

Avatar

Level 4
Hi!

I install LC ES 8.2 on linux server. The server is running opensuse 10.3, mysql is 5.0.45, java version is 5.0.16.

First I create database with utf-8 encoding and czech collation.

Than I copy jboss from third_party directory in installation folder to final jboss location. Than I update mysql jdbc driver to version 5.1.7. This is because bundled one causes error connecting to mysql database when utf-8 charset is set. I start jboss by "./run.sh -c all" command.

Finally I start ConfigurationManager.sh in GUI mode and click next, next, next to the point "LiveCycle ES Database Initialization". After click "initalize" button, the error message appears:



Specified key was too long; max key length is 1000 bytes



The exception in server log is attached. When pushing "Initialize" button again, nothings pops up and the process complete quite well. Unfortunatelly, I'm affraid to be missing some table or index in database.

Looking in google about the error have found about mysql limitation. But in windows version all goes quite well.



Please help.



Thanks,

--- Jaroslav



Here is the exception:



18:12:13,288 ERROR [LogInterceptor] RuntimeException in method: public abstract void com.adobe.pof.odapi.POFSchemaManagerLocal.createIndex(com.adobe.pof.odapi.CreateIndexInfo,com.adobe.idp.Context) throws com.adobe.pof.POFException:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1026)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)

at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2046)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1964)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1949)

at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeUpdate(CachedPreparedStatement.java:81)

at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:227)

at com.adobe.pof.adapter.JDBCAdapter.executeCreateIndexDDL(JDBCAdapter.java:3954)

at com.adobe.pof.adapter.JDBCAdapter.createIndex(JDBCAdapter.java:3905)

at com.adobe.pof.odapi.POFSchemaManagerImpl.createIndex(POFSchemaManagerImpl.java:974)

at com.adobe.pof.odapi.POFSchemaManagerRemoteBean.createIndex(POFSchemaManagerRemoteBean.java:423)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.jboss.invocation.Invocation.performCall(Invocation.java:345)

at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)

at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)

at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:154)

at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:54)

at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)

at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
1 Reply

Avatar

Level 4

set GLOBAL storage_engine='InnoDb';

:-)