MMBase

Error from mysql (utf8) during deployment of systemproperties.

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.9.0
  • Fix Version/s: 1.9.1
  • Component/s: Core, Database Layer
  • Description:
    Hide
    11-24 15:03:47 33478 k ERR module.core.MMObjectBuilder create.553 - Specified key was too long; max key length is 1000 bytes in query:ALTER TABLE deploytest_systemproperties ADD UNIQUE INDEX deploytest_systemproperties_settingsUnique_idx (component, m_key)org.mmbase.storage.StorageException: Specified key was too long; max key length is 1000 bytes in query:ALTER TABLE deploytest_systemproperties ADD UNIQUE INDEX deploytest_systemproperties_settingsUnique_idx (component, m_key)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2786)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2753)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2090)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1979)
            at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)
            at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)
            at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)
            at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)
            at org.mmbase.module.core.MMBase.init(MMBase.java:409)
            at org.mmbase.module.Module.startModule(Module.java:168)
            at org.mmbase.module.Module.startModules(Module.java:386)
            at org.mmbase.module.Module.checkModules(Module.java:451)
            at org.mmbase.module.Module.getModule(Module.java:424)
            at org.mmbase.module.Module.getModule(Module.java:435)
            at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)
            at org.mmbase.servlet.MMBaseStartThread$Job.run(MMBaseStartThread.java:56)
            at java.lang.Thread.run(Thread.java:619)
    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes
            at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
            at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)
            at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)
            at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)
            at com.mysql.jdbc.Connection.execSQL(Connection.java:3170)
            at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1316)
            at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1235)
            at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2780)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2753)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2090)
            at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1979)
            at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)
            at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)
            at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)
            at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)
            at org.mmbase.module.core.MMBase.init(MMBase.java:409)
            at org.mmbase.module.Module.startModule(Module.java:168)
            at org.mmbase.module.Module.startModules(Module.java:386)
            at org.mmbase.module.Module.checkModules(Module.java:451)
            at org.mmbase.module.Module.getModule(Module.java:424)
            at org.mmbase.module.Module.getModule(Module.java:435)
            at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)
            at org.mmbase.servlet.MMBaseStartThread$Job.run(MMBaseStartThread.java:56)
            at java.lang.Thread.run(Thread.java:619)
    11-24 15:03:47 33478 k ERR module.core.MMBase initBuilders.865 - Removed builder systemproperties from the builderlist, as it cannot be initialized.




    See also:
    http://bugs.mysql.com/bug.php?id=4541
    Show
    11-24 15:03:47 33478 k ERR module.core.MMObjectBuilder create.553 - Specified key was too long; max key length is 1000 bytes in query:ALTER TABLE deploytest_systemproperties ADD UNIQUE INDEX deploytest_systemproperties_settingsUnique_idx (component, m_key)org.mmbase.storage.StorageException: Specified key was too long; max key length is 1000 bytes in query:ALTER TABLE deploytest_systemproperties ADD UNIQUE INDEX deploytest_systemproperties_settingsUnique_idx (component, m_key)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2786)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2753)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2090)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1979)         at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)         at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)         at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)         at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)         at org.mmbase.module.core.MMBase.init(MMBase.java:409)         at org.mmbase.module.Module.startModule(Module.java:168)         at org.mmbase.module.Module.startModules(Module.java:386)         at org.mmbase.module.Module.checkModules(Module.java:451)         at org.mmbase.module.Module.getModule(Module.java:424)         at org.mmbase.module.Module.getModule(Module.java:435)         at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)         at org.mmbase.servlet.MMBaseStartThread$Job.run(MMBaseStartThread.java:56)         at java.lang.Thread.run(Thread.java:619) com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes         at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)         at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2870)         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1665)         at com.mysql.jdbc.Connection.execSQL(Connection.java:3170)         at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1316)         at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1235)         at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:228)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createIndex(DatabaseStorageManager.java:2780)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:2753)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.createTable(DatabaseStorageManager.java:2090)         at org.mmbase.storage.implementation.database.DatabaseStorageManager.create(DatabaseStorageManager.java:1979)         at org.mmbase.module.core.MMObjectBuilder.create(MMObjectBuilder.java:550)         at org.mmbase.module.core.MMObjectBuilder.init(MMObjectBuilder.java:430)         at org.mmbase.module.core.MMBase.initBuilder(MMBase.java:885)         at org.mmbase.module.core.MMBase.initBuilders(MMBase.java:862)         at org.mmbase.module.core.MMBase.init(MMBase.java:409)         at org.mmbase.module.Module.startModule(Module.java:168)         at org.mmbase.module.Module.startModules(Module.java:386)         at org.mmbase.module.Module.checkModules(Module.java:451)         at org.mmbase.module.Module.getModule(Module.java:424)         at org.mmbase.module.Module.getModule(Module.java:435)         at org.mmbase.module.core.MMBase.getMMBase(MMBase.java:637)         at org.mmbase.servlet.MMBaseStartThread$Job.run(MMBaseStartThread.java:56)         at java.lang.Thread.run(Thread.java:619) 11-24 15:03:47 33478 k ERR module.core.MMBase initBuilders.865 - Removed builder systemproperties from the builderlist, as it cannot be initialized. See also: http://bugs.mysql.com/bug.php?id=4541

Activity

Hide
Michiel Meeuwissen added a comment - 2008-11-24 15:21
Limited name of components to 128 chars.

That'd make (length of component + length of key) * 3 < 1000; working around the mysql limitation.
Show
Michiel Meeuwissen added a comment - 2008-11-24 15:21 Limited name of components to 128 chars. That'd make (length of component + length of key) * 3 < 1000; working around the mysql limitation.

People

Dates

  • Created:
    2008-11-24 15:18
    Updated:
    2008-11-24 15:23
    Resolved:
    2008-11-24 15:21