Yes, I suggest opening a Jira and attach everything you can so that we can easily reproduce the situation.
Getting to a point where we can reproduce the issue is you best bet for getting it resolved. alex On Wed, Mar 4, 2009 at 10:21 AM, Andi Abes <[email protected]> wrote: > I'm not sure what the proper etiquette here is - > > I have a reproducible case where I get the exceptions listed below. I've > tried various JPA/Oracle and Hibernate/Oracle (as well as JPA/Derby) > configurations. > > > > I'm not really familiar with the unit test framework used by ODE, so my > testcase is built around a simple Java test client that both invokes and > response to the BPEL process. > > > > Should I open a JIRA with the artifacts mentioned? > > Is there another approach to getting this resolved? > > > > > > TIA, > > a. > > > > ________________________________ > > From: Matthieu Riou [mailto:[email protected]] > Sent: Thursday, February 26, 2009 9:38 PM > To: Andi Abes > Cc: [email protected] > Subject: Re: Correlated receive in parallel for-each loop > > > > On Wed, Feb 25, 2009 at 12:09 PM, Andi Abes <[email protected]> wrote: > > Matthieu, > Was the log useful? > Show I open a JIRA? I do have some code to drive the BPEL > process that > can easily reproduce this behavior (it does rely on CXF runtime) > > > Sorry I haven't had any time to look at it today, I'll check tomorrow. > > > > I couldn't find a way to avoid the SET TRANSACTION exception... > is > there a way of avoiding it that you can recommend? > > > Just don't explicitly set ode.connection.isolation, this way we will > leave it alone and Oracle uses the proper value by default. > > Matthieu > > > > > > a. > > > > -----Original Message----- > > From: Matthieu Riou [mailto:[email protected]] > > > Sent: Tuesday, February 24, 2009 11:17 AM > > To: [email protected] > > > Subject: Re: Correlated receive in parallel for-each loop > > > > On Tue, Feb 24, 2009 at 7:44 AM, Andi Abes > <[email protected]> wrote: > > > > > I'm trying to get a relatively simple process which > performs a > > correlated > > > receive in parallel for-each loop (attached) - just the > sweet spot > for > > > BPEL ;) > > > > > > I've tried with: > > > > > > - Derby/JPA - java.sql.SQLException: A lock could not > be > obtained > > > due to a deadlock (full stack in earlier emails) > > > > > > - Hibernate/Oracle - the exception is below (hibernate > 3.2.5/ > > oracle > > > 10.2) > > > > > > - JPA / Oracle - This didn't produce exceptions, but > it > produced > > the > > > following error, which killed the process instance... > > > > > > o ERROR - GeronimoLog.error(104) | The message > exchange seems > to > > be > > > in an unconsistent state, you're probably missing a reply on > a > > > request/response interaction. > > > INFO - GeronimoLog.info(79) | ActivityRecovery: Registering > activity > 25, > > > failure reason: > org.apache.ode.bpel.iapi.BpelEngineException: Engine > > > requested response > > > while the message exchange hqejbhcnphr426192c3r3o was in > the state > > > COMPLElTED_OK on channel 45 > > > > > > Any thoughts? > > > > > The above looks like a bug yes, could you provide a full debug > log to > see > > what's happening exactly? > > > > Your second problem is due to the Oracle JDBC driver that > refuses to > alter > > the transaction isolation level after the transaction has been > started, > > even > > if it's the first statement in the transaction. So basically > we can't > set > > it, it has to be set at the driver level. > > > > The good news though is that READ_COMMITTED is the default on > Oracle > so > > you > > don't need to force the isolation level, removing the > environment > variable > > should solve it. > > > > Cheers, > > Matthieu > > > > > > > The last 2 cases sound to me as a bug... > > > > > > <<BPEL_2.zip>> > > > > > > Exception with Hibernate/Oracle: > > > > > > DEBUG - GeronimoLog.debug(66) | > > > org.apache.ode.daohib.bpel.hobj.HProcess{created=null, > active=false, > > > events=<uninitialized>, processId={urn:bpel:BpelMock}BPELMo > > > > > > ck-1, deployDate=2009-02-24 10:33:55, id=1, version=1, > > > messageExchanges=<uninitialized>, deploymentPartnerLinks=[], > > > typeName=BPELMock, lock=0, correlators=<unin > > > > > > itialized>, deployer=null, typeNamespace=urn:bpel:BpelMock, > > > instances=<uninitialized>, guid=hqejbhcnphr42in8iaul6m} > > > > > > DEBUG - GeronimoLog.debug(66) | > > > > org.apache.ode.daohib.bpel.hobj.HCorrelator{created=2009-02-24 > 10:33:55, > > > lock=0, process=org.apache.ode.daohib.bpel.hobj.HProces > > > > > > s#1, correlatorId=25.ESBResult, > messageCorrelations=<uninitialized>, > > > selectors=<uninitialized>, id=2} > > > > > > DEBUG - GeronimoLog.debug(66) | > > > > org.apache.ode.daohib.bpel.hobj.HProcessInstance{created=2009-02-24 > > > 10:34:25, jacobState=org.apache.ode.daohib.bpel.hobj.HLargeD > > > > > > ata#168, events=<uninitialized>, previousState=10, > > > lastActiveTime=2009-02-24 10:34:33, fault=null, > > > correlationSets=<uninitialized>, sequence=27, id=7, > activityF > > > > > > ailureCount=0, messageExchanges=<uninitialized>, lock=0, > > > correlatorSelectors=<uninitialized>, > activityFailureDateTime=null, > > > scopes=<uninitialized>, process=org. > > > > > > apache.ode.daohib.bpel.hobj.HProcess#1, > > activityRecoveries=<uninitialized>, > > > state=20, > > > > > instantiatingCorrelator=org.apache.ode.daohib.bpel.hobj.HCorrelator#3} > > > > > > DEBUG - GeronimoLog.debug(66) | about to open > PreparedStatement > (open > > > PreparedStatements: 0, globally: 3) > > > > > > DEBUG - GeronimoLog.debug(66) | opening JDBC connection > > > > > > DEBUG - GeronimoLog.debug(70) | Cannot open connection [???] > > > > > > java.sql.SQLException: ORA-01453: SET TRANSACTION must be > first > > statement > > > of transaction > > > > > > at > > > > > > > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:11 > 2) > > > > > > at > oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) > > > > > > at > oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) > > > > > > at > oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745) > > > > > > at > > oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207) > > > > > > at > > > > > oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:957) > > > > > > at > > > > > > > oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement. > ja > > va:1170) > > > > > > at > > > > > > > oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java: > 16 > > 96) > > > > > > at > > > > > oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1662) > > > > > > at > > > > > > > oracle.jdbc.driver.PhysicalConnection.setTransactionIsolation(PhysicalCo > nn > > ection.java:1661) > > > > > > at > > > > > > > org.apache.tomcat.dbcp.dbcp.DelegatingConnection.setTransactionIsolation > (D > > elegatingConnection.java:340) > > > > > > at > > > > > > > org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper > .s > > etTransactionIsolation(PoolingDataSource.java:332) > > > > > > at > > > > > > > org.apache.ode.daohib.DataSourceConnectionProvider.getConnection(DataSou > rc > > eConnectionProvider.java:45) > > > > > > at > > > > > > > org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.ja > va > > :423) > > > > > > at > > > > > > > org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.jav > a: > > 144) > > > > > > at > > > > > > > org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher > .j > > ava:139) > > > > > > at > > > > org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547) > > > > > > at > > > > org.hibernate.loader.hql.QueryLoader.iterate(QueryLoader.java:399) > > > > > > at > > > > > > > org.hibernate.hql.ast.QueryTranslatorImpl.iterate(QueryTranslatorImpl.ja > va > > :380) > > > > > > at > > > > > > > org.hibernate.engine.query.HQLQueryPlan.performIterate(HQLQueryPlan.java > :2 > > 24) > > > > > > at > > > > org.hibernate.impl.SessionImpl.iterateFilter(SessionImpl.java:1492) > > > > > > at > > > > > > > org.hibernate.impl.CollectionFilterImpl.iterate(CollectionFilterImpl.jav > a: > > 38) > > > > > > at > > > > > > > > org.apache.ode.daohib.bpel.CorrelatorDaoImpl.dequeueMessage(CorrelatorDa > oI > > mpl.java:89) > > > > > > : > > > > > > >
