Обсуждение: Fw: java.lang.IndexOutOfBoundsException when commit long transaction
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
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