Thread: Fw: java.lang.IndexOutOfBoundsException when commit long transaction

Fw: java.lang.IndexOutOfBoundsException when commit long transaction

From
Luc1fer Hell
Date:
Hello.

 I'm trying to implement data replication mechanism base on OpenJPA and WebServices.
 When I tried to persist about 200000 objects that references each other i have got an error on commit:

 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 8.2 as database and openJPA 1.0.1 as ORM.
 Can anybody help me? As i see problem lies in Postgre Driver. My current is postgresql-8.2-505.jdbc3.jar


Re: Fw: java.lang.IndexOutOfBoundsException when commit long transaction

From
Kris Jurka
Date:

On Thu, 22 Nov 2007, Luc1fer Hell wrote:

> I'm trying to implement data replication mechanism base on OpenJPA and
> WebServices. When I tried to persist about 200000 objects that
> references each other i have got an error on commit:
>
> 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)
>
> I use PostgreSQL 8.2 as database and openJPA 1.0.1 as ORM. Can anybody
> help me? As i see problem lies in Postgre Driver. My current is
> postgresql-8.2-505.jdbc3.jar
>

That's an unusual error and does look like it is the driver's problem.
Are there any errors prior to this one?  Can you reproduce it with a
smaller test case or only with 200000 records?  If you can put together
something self contained, I'd love to look at it.  Another good diagnostic
tool is adding ?loglevel=2 to your connection URL to enable verbose
logging.  With 200k records that's going to be a lot of info, but if
you're willing to share it, I'd be willing to take a look at that too.

Kris Jurka