openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Russell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-295) ArrayIndexOutofBoundsException when under load and within a managed Transaction
Date Thu, 02 Aug 2007 21:15:52 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12517373
] 

Craig Russell commented on OPENJPA-295:
---------------------------------------

Hi Marc,

There should not be any issue using the identical instance of TSR for the registerSynchronization,
get/setRollbackOnly, and getStatus methods. The issue is the assumption that the Transaction
instance is different for each transaction.

I think that Michael Dick's #2 solution is needed. The _transactional is already a concurrent
map but all the keys are identical so the basic premise doesn't work.

More basic, the AbstractBrokerFactory method findTransactionalBroker should have a different
implementation for TSR, which has direct support for this functionality via the getResource
and putResource methods. I think I'd rather delegate the "findTransactionalBroker" to the
ManagedRuntime, which could do the current behavior in other than TSR environments but delegate
to the TSR behavior in the app server.

Back to the current problem how about adding Object getTransactionKey() to ManagedRuntime
which in non-TSR implementations returns "this" and in TSR returns "this.getTransactionKey()".

> ArrayIndexOutofBoundsException when under load and within a managed Transaction
> -------------------------------------------------------------------------------
>
>                 Key: OPENJPA-295
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-295
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 1.0.0
>         Environment: openjpa running under WebSphere development builds, as well as Geronimo
development builds
>            Reporter: Rob Wisniewski
>            Priority: Blocker
>         Attachments: OPENJPA-295.diff.txt, OPENJPA295.patch
>
>
> Recent development builds of our WAS products as well as the Geronimo project are seeing
exceptions when running under load.  An example of the exception is below:
> Caused by: 
> java.lang.ArrayIndexOutOfBoundsException
> 	at java.util.ArrayList.add(ArrayList.java:378)
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.syncWithManagedTransaction(AbstractBrokerFactory.java:684)
> 	... 39 more
> This is the deepest trace I can get with the actual exception, but the wrappering exception
shows this stack trace for geronimo:
> <1.0.0-SNAPSHOT-SNAPSHOT nonfatal general error> org.apache.openjpa.persistence.PersistenceException:
null
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.syncWithManagedTransaction(AbstractBrokerFactory.java:690)
> 	at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:304)
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:182)
> 	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:190)
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:55)
> 	at org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createEntityManager(CMPEntityManagerTxScoped.java:74)
> 	at org.apache.geronimo.persistence.CMPEntityManagerTxScoped.getEntityManager(CMPEntityManagerTxScoped.java:55)
> 	at org.apache.geronimo.persistence.CMPEntityManagerTxScoped.createNamedQuery(CMPEntityManagerTxScoped.java:259)
> 	at org.apache.geronimo.samples.daytrader.ejb3.TradeSLSBBean.getClosedOrders(TradeSLSBBean.java:335)
> This is happening in two separate products with two different JTA implementations, and
also both of these products were working at one point.
> Any ideas?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message