[ 
https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12728373#action_12728373
 ] 

sijo cherian commented on ODE-507:
----------------------------------

I am getting same error with Oracle, without setting the database transaction 
isolation level.
: ORA-01453: SET TRANSACTION must be first statement of transaction

The thread [ODEServer-2] , executed one statement just fine, but another one 
got ORA-01453.

--Debug Trace--
--[07 Jul 2009 16:58:59,062] [ODEServer-2] DEBUG org.apache.ode.sql  - 
getConnection (tx=2)
--[07 Jul 2009 16:58:59,062] [ODEServer-2] DEBUG org.apache.ode.sql  - Set 
isolation level to 2
--[07 Jul 2009 16:58:59,062] [ODEServer-1] DEBUG org.apache.ode.sql  - 
prepareStatement: SELECT t0.ID, t0.GUID, t0.PROCESS_ID, t0.PROCESS_TYPE, 
t0.VERSION FROM ODE_PROCESS t0 WHERE (t0.PROCESS_ID = ?)
--[07 Jul 2009 16:58:59,062] [ODEServer-1] DEBUG org.apache.ode.sql  - 
executeQuery, bound (1,{http://servicens}SNFWorkflow-27) 
--[07 Jul 2009 16:58:59,062] [ODEServer-2] DEBUG org.apache.ode.sql  - 
prepareStatement: SELECT t0.DATA, t0.HEADER, t0.MESSAGE_EXCHANGE_ID, t0.TYPE 
FROM ODE_MESSAGE t0 WHERE t0.MESSAGE_ID = ?
--[07 Jul 2009 16:58:59,062] [ODEServer-2] DEBUG org.apache.ode.sql  - 
executeQuery, bound (1,5704) 
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - 
prepareStatement: SELECT COUNT(*) FROM ODE_PROCESS t0 WHERE (t0.PROCESS_ID = ?)
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - 
executeQuery, bound (1,{http://servicens}SNFWorkflow-27) 
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - 
getConnection (tx=2)
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - Set 
isolation level to 2
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - 
prepareStatement: SELECT t0.ID, t0.GUID, t0.PROCESS_ID, t0.PROCESS_TYPE, 
t0.VERSION FROM ODE_PROCESS t0 WHERE (t0.PROCESS_ID = ?)
--[07 Jul 2009 16:58:59,078] [ODEServer-1] DEBUG org.apache.ode.sql  - 
executeQuery, bound (1,{http://servicens}SNFWorkflow-27) 
--[07 Jul 2009 16:58:59,109] [ODEServer-2] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,109] [ODEServer-2] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,109] [ODEServer-2] DEBUG 
org.apache.ode.bpel.runtime.ScopeFrame  - Initialize variable: name={Variable 
__PROCESS_SCOPE:SNFWorkflow.eventRes:OMessageVarType#42} value=
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - 
prepareStatement: SELECT COUNT(*) FROM ODE_PROCESS t0 WHERE (t0.PROCESS_ID = ?)
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - 
executeQuery, bound (1,{http://servicens}SNFWorkflow-27) 
--[07 Jul 2009 16:58:59,109] [ODEServer-2] DEBUG org.apache.ode.sql  - 
getConnection (tx=2)
--[07 Jul 2009 16:58:59,109] [ODEServer-2] DEBUG org.apache.ode.sql  - Set 
isolation level to 2
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - close()
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - 
getConnection (tx=2)
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - Set 
isolation level to 2
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - 
prepareStatement: SELECT t0.ID, t0.GUID, t0.PROCESS_ID, t0.PROCESS_TYPE, 
t0.VERSION FROM ODE_PROCESS t0 WHERE (t0.PROCESS_ID = ?)
--[07 Jul 2009 16:58:59,109] [ODEServer-1] DEBUG org.apache.ode.sql  - 
executeQuery, bound (1,{http://servicens}SNFWorkflow-27) 
--[07 Jul 2009 16:58:59,109] [ODEServer-2] ERROR 
org.apache.ode.jacob.vpu.JacobVPU  - Method "onResponse" in class 
"org.apache.ode.bpel.runtime.INVOKE$2" threw an unexpected exception.
<openjpa-1.1.0-r422266:659716 nonfatal general error> 
org.apache.openjpa.persistence.PersistenceException: ORA-01453: SET TRANSACTION 
must be first statement of transaction

        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.narrow(SQLExceptions.java:146)
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4150)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:88)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:64)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:762)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getConnection(JDBCStoreManager.java:215)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:349)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:319)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getInitializeStateResult(JDBCStoreManager.java:411)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:307)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:263)
        at 
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
        at 
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
        at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:894)
        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:852)
        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:769)
        at 
org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:183)
        at 
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:452)
        at 
org.apache.ode.dao.jpa.ProcessInstanceDAOImpl.getScope(ProcessInstanceDAOImpl.java:328)
        at 
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.writeVariable(BpelRuntimeContextImpl.java:473)
        at 
org.apache.ode.bpel.runtime.ScopeFrame.initializeVariable(ScopeFrame.java:237)
        at 
org.apache.ode.bpel.runtime.ACTIVITY.initializeVariable(ACTIVITY.java:166)
        at org.apache.ode.bpel.runtime.INVOKE$2.onResponse(INVOKE.java:121)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
        at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
        at 
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:870)
        at 
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
        at 
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
        at 
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLException: ORA-01453: SET TRANSACTION must be first 
statement of transaction

        at 
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        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.java:1170)
        at 
oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1696)
        at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1662)
        at 
oracle.jdbc.driver.PhysicalConnection.setTransactionIsolation(PhysicalConnection.java:1661)
        at 
com.sun.gjc.spi.base.ConnectionHolder.setTransactionIsolation(ConnectionHolder.java:694)
        at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.ode.utils.LoggingInterceptor.invoke(LoggingInterceptor.java:85)
        at $Proxy97.setTransactionIsolation(Unknown Source)
        at 
org.apache.openjpa.lib.jdbc.DelegatingConnection.setTransactionIsolation(DelegatingConnection.java:257)
        at 
org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator.decorate(ConfiguringConnectionDecorator.java:95)
        at 
org.apache.openjpa.lib.jdbc.DecoratingDataSource.decorate(DecoratingDataSource.java:100)
        at 
org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:88)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connectInternal(JDBCStoreManager.java:773)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:758)
        ... 38 more
--[07 Jul 2009 16:58:59,109] [ODEServer-2] ERROR 
org.apache.ode.bpel.engine.BpelEngineImpl  - Scheduled job failed; 
jobDetail={mexid=hqejbhcnphr4ex3kkohdt0, iid=5805, type=INVOKE_RESPONSE, 
retry=0, channel=23}
java.lang.RuntimeException: <openjpa-1.1.0-r422266:659716 nonfatal general 
error> org.apache.openjpa.persistence.PersistenceException: ORA-01453: SET 
TRANSACTION must be first statement of transaction

        at 
org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
        at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
        at 
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:870)
        at 
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:438)
        at 
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
        at 
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:405)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:401)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: <openjpa-1.1.0-r422266:659716 nonfatal general error> 
org.apache.openjpa.persistence.PersistenceException: ORA-01453: SET TRANSACTION 
must be first statement of transaction


> OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE 
> loaded in db mode
> ---------------------------------------------------------------------------------------------
>
>                 Key: ODE-507
>                 URL: https://issues.apache.org/jira/browse/ODE-507
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.2
>         Environment: JAVA 5.0+
>            Reporter: Shammy Chen
>            Assignee: Sean Ahn
>         Attachments: bpmdemo3-5.zip, geronimo.log, 
> OutstandingRequestManager_err_detail.log, VpuOustandingDataTest.java
>
>
> We loaded ODE process in db mode and got INTERNAL ERROR from ODE sometime, 
> see the following adapted from error log for detail infomation.
> 15:05:51,774 FATAL [OutstandingRequestManager] INTERNAL ERROR: No ENTRY for 
> RESPONSE CHANNEL 53
> 15:05:51,776 ERROR [BpelEngineImpl] Scheduled job failed; 
> jobDetail={mexid=4611686018427390107, 
> pid={http://example.com/bpmdemo3/service}service-17, type=INVOKE_INTERNAL}
> java.lang.IllegalArgumentException: INTERNAL ERROR: No ENTRY for RESPONSE 
> CHANNEL 53
>       at 
> org.apache.ode.bpel.engine.OutstandingRequestManager.associate(OutstandingRequestManager.java:145)
>       at 
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.inputMsgMatch(BpelRuntimeContextImpl.java:894)
>       at 
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeInstance(PartnerLinkMyRoleImpl.java:211)
>       at 
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:208)
>       at 
> org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:372)
>       at 
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:326)
>       at 
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:619)
> 15:05:52,798 ERROR [SimpleScheduler] Error while processing transaction, 
> retrying.
> org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: 
> java.lang.IllegalArgumentException: INTERNAL ERROR: No ENTRY for RESPONSE 
> CHANNEL 53
>       at 
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:336)
>       at 
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
>       at 
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>       at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.IllegalArgumentException: INTERNAL ERROR: No ENTRY for 
> RESPONSE CHANNEL 53
>       at 
> org.apache.ode.bpel.engine.OutstandingRequestManager.associate(OutstandingRequestManager.java:145)
>       at 
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.inputMsgMatch(BpelRuntimeContextImpl.java:894)
>       at 
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeInstance(PartnerLinkMyRoleImpl.java:211)
>       at 
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:208)
>       at 
> org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:372)
>       at 
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:326)
>       ... 11 more
> I doubted whether it was caused by ExecutionQueueImpl's serialization(not 
> concurrently),  but when I tested this,  the answer was NO. Maybe it's caused 
> by concurrency.

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

Reply via email to