jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Perez" <mper...@gmail.com>
Subject Re: SQLException "Data too long" using SimpleDbPersistenceManager/MySQL
Date Wed, 19 Apr 2006 11:37:09 GMT
Alexandru,

I'm using Derby on my application and I had no problems uploading big files.

Martin

On 4/19/06, Alexandru Popescu <the.mindstorm.mailinglist@gmail.com> wrote:
>
> 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 <dhagen@h1-software.de> 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
> >>
> >>
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message