openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc1fer Hell <luc1...@inbox.ru>
Subject Re[4]: java.lang.IndexOutOfBoundsException when commit long transaction
Date Fri, 23 Nov 2007 11:28:09 GMT

I think, it's clear - it is first message of log. But after it there are 30 mb of:

2007-11-22 16:27:59 STATEMENT:  INSERT INTO reg_r_participant_type
R_PARTICIPANT_TYPE_ID, DESCRIPTION, TITLE) VALUES ($1, $2, $3)
2007-11-22 16:27:59 ERROR:  current transaction is aborted, commands ignored
until end of transaction block

So, transaction does't rolle back, before finish. It cause strange errors. What size of default
query batch
in OpenJPA? May be it is very big? Or i need to add flush(), to check if there are violation?
Now i simple 
parse object tree to find new and detached objects, and update them. Then i commit transaction,
and it's 
tries to persist 200000 objects. 

-----Original Message-----
From: plinskey@gmail.com
To: users@openjpa.apache.org, "Luc1fer Hell" <luc1fer@inbox.ru>
Date: Fri, 23 Nov 2007 03:20:57 -0800
Subject: Re: Re[2]: java.lang.IndexOutOfBoundsException when commit long transaction

> 
> Ah. Are you attempting to persist new instances with null blob values?
> 
> -Patrick
> 
> On 11/22/07, Luc1fer Hell <luc1fer@inbox.ru> wrote:
> > If i post the SQL), it would be about 30 mb).
> > I think i found cause of problem in Postgre log file.
> > It starts with:
> > 2007-11-22 16:27:58 ERROR:  null value in column "blob_data" violates
> > not-null constraint
> > 2007-11-22 16:27:58 STATEMENT:  INSERT INTO reg_document (DOCUMENT_ID,
> > BLOB_DATA, FILE_NAME, FILE_TYPE, size) VALUES ($1, $2, $3, $4, $5)
> > 2007-11-22 16:27:59 ERROR:  current transaction is aborted, commands ignored
> > until end of transaction block
> > 2007-11-22 16:27:59 STATEMENT:  INSERT INTO reg_r_participant_type
> > (R_PARTICIPANT_TYPE_ID, DESCRIPTION, TITLE) VALUES ($1, $2, $3)
> > 2007-11-22 16:27:59 ERROR:  current transaction is aborted, commands ignored
> > until end of transaction block
> >
> > And after constraint violation there are 30 mb of insert and abort messages
> > - current transaction is aborted, commands ignored until end of transaction
> > block.
> >
> >
> >
> > -----Original Message-----
> > From: plinskey@gmail.com
> > To: users@openjpa.apache.org, "Luc1fer Hell" <luc1fer@inbox.ru>
> > Date: Thu, 22 Nov 2007 17:02:59 -0800
> > Subject: Re: java.lang.IndexOutOfBoundsException when commit long
> > transaction
> >
> > >
> > > Hi,
> > >
> > > Can you post the SQL that caused this? You can turn this on by setting
> > > the openjpa.Log property to SQL=TRACE.
> > >
> > > -Patrick
> > >
> > > On 11/22/07, Luc1fer Hell <luc1fer@inbox.ru> wrote:
> > > > Hello.
> > > >
> > > > I'm trying to implement data replication mechanism base on OpenJPA and
> > > > WebServices.
> > > > I almost solve the problem whit saving big graph of objects (my last
> > > > letter), but now i have got a new issue.
> > > > I'm trying to persist about 200000 objects that references each other.
> > > >
> > > > But on commit i have got an error:
> > > >
> > > > Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> > > >         at java.util.ArrayList.RangeCheck(ArrayList.java:546)
> > > >         at java.util.ArrayList.get(ArrayList.java:321)
> > > >         at
> > > >
> > org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1175)
> > > >         at
> > > >
> > org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191)
> > > >         at
> > > >
> > org.postgresql.jdbc2.AbstractJdbc2Connection.executeTransactionCommand(AbstractJdbc2Connection.java:653)
> > > >         at
> > > >
> > org.postgresql.jdbc2.AbstractJdbc2Connection.commit(AbstractJdbc2Connection.java:673)
> > > >         at
> > > >
> > org.postgresql.jdbc2.AbstractJdbc2Connection.setAutoCommit(AbstractJdbc2Connection.java:636)
> > > >         at
> > > >
> > org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:331)
> > > >         at
> > > >
> > org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:317
> > > > )
> > > >         at
> > > >
> > org.apache.openjpa.lib.jdbc.DelegatingConnection.setAutoCommit(DelegatingConnection.java:196)
> > > >         at
> > > >
> > org.apache.openjpa.lib.jdbc.DelegatingConnection.setAutoCommit(DelegatingConnection.java:196)
> > > >         at
> > > >
> > org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.setAutoCommit(ConfiguringCon
> > > > nectionDecorator.java:117)
> > > >         at
> > > >
> > org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.rollback(ConfiguringConnecti
> > > > onDecorator.java:135)
> > > >         at
> > > >
> > org.apache.openjpa.lib.jdbc.DelegatingConnection.rollback(DelegatingConnection.java:208)
> > > >         at
> > > >
> > org.apache.openjpa.lib.jdbc.DelegatingConnection.rollback(DelegatingConnection.java:208)
> > > >         at
> > > >
> > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.rollback(JDBCStoreManager.java:188)
> > > >         at
> > > >
> > org.apache.openjpa.kernel.DelegatingStoreManager.rollback(DelegatingStoreManager.java:98)
> > > >         at
> > > >
> > org.apache.openjpa.kernel.BrokerImpl.endStoreManagerTransaction(BrokerImpl.java:1248)
> > > >         at
> > > >
> > org.apache.openjpa.kernel.BrokerImpl.endTransaction(BrokerImpl.java:2121)
> > > >         at
> > > >
> > org.apache.openjpa.kernel.BrokerImpl.afterCompletion(BrokerImpl.java:1790)
> > > >         ... 30 more
> > > >
> > > > I use PostgreSQL as database and openJPA 1.0.1 as ORM.
> > > > Can anybody help me?
> > > >
> > >
> > >
> > > --
> > > Patrick Linskey
> > > 202 669 5907
> > >
> >
> 
> 
> -- 
> Patrick Linskey
> 202 669 5907
> 

Mime
View raw message