Hi Stefan.
I am wondering if this problem may occur with Derby too? tia, ./alex -- .w( the_mindstorm )p. #: Stefan Guggisberg changed the world a bit at a time by saying (astral date: 4/19/2006 11:03 AM) :#
hi daniel the default schema for mysql uses 'blob' columns for storing serialized node states. the blob data type has a maximum size limit of 65k. if your repository needs to store large numbers of child nodes per node you can use the 'mediumblob' data type instead. e.g. create table default_NODE (NODE_ID char(36) not null, NODE_DATA mediumblob not null); btw: you should in general try to avoid flat hierarchies in jackrabbit as they come at a certain performance cost. cheers stefan On 4/18/06, Daniel Hagen <[EMAIL PROTECTED]> wrote:Hi, I noticed a problem during a test using the SimbpleDbPersistenceManager and MySQL 5.0. Strangely enough this problem occurred only after some nodes (~25000) where created in the repository. Now I receive the following error when creating a node: ERROR org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager - failed to write node state: ea7f3f8b-97fe-450d-8a8a-2b6d84c711c1 java.sql.SQLException: Data too long for column 'NODE_DATA' at row 1 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570) at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement .java:1085) at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStateme nt.java:670) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1159) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1076) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1061) at org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager.store(SimpleD bPersistenceManager.java:585) at org.apache.jackrabbit.core.state.AbstractPersistenceManager.store(AbstractPe rsistenceManager.java:75) at org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager.store(SimpleD bPersistenceManager.java:446) at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedIte mStateManager.java:569) at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemSta teManager.java:692) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemState Manager.java:315) at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManage r.java:322) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemState Manager.java:291) at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemS tateManager.java:257) at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1189) at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:805) Am I missing some MySQL Parameters I have to set? The ddl I used to create the tables is create table default_NODE (NODE_ID char(36) not null, NODE_DATA blob not null) TYPE=InnoDB; create unique index default_NODE_IDX on default_NODE (NODE_ID); create table default_PROP (PROP_ID varchar(255) not null, PROP_DATA blob not null) TYPE=InnoDB; create unique index default_PROP_IDX on default_PROP (PROP_ID); create table default_REFS (NODE_ID char(36) not null, REFS_DATA blob not null) TYPE=InnoDB; create unique index default_REFS_IDX on default_REFS (NODE_ID); create table default_BINVAL (BINVAL_ID varchar(255) not null, BINVAL_DATA longblob not null) TYPE=InnoDB; create unique index default_BINVAL_IDX on default_BINVAL (BINVAL_ID); Does anybody have a clue as to what is going wrong? I will gladly provide more information (logs etc) if required. Regards Daniel
