You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Shammy Chen (JIRA)" <ji...@apache.org> on 2009/02/05 10:13:59 UTC

[jira] Created: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

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


We loaded ODE process in db mode and got INTERNAL ERROR from ODE, 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.


[jira] Issue Comment Edited: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671396#action_12671396 ] 

shammychen edited comment on ODE-507 at 2/6/09 6:36 PM:
---------------------------------------------------------

This is our ODE process (interacting with TEMPO to deal with human tasks) definition, maybe you can't use it directly. 

The way to reproduce this bug is trying to make ODE swith threads between RECEIVE and REPLY activity(so ExecutionQueueImpl serialize and deserialize OutstandingRequestManager), and doing this concurrently with heavy load.

This bug happens at a speed of about 5~6 out of 1000 instances

      was (Author: shammychen):
    This is our ODE process (interacting with TEMPO to deal with human tasks) definition, maybe you can't use it directly. 

The way to reproduce this bug is trying to make ODE swith threads between RECEIVE and REPLY activity(so ExecutionQueueImpl serialize and deserialize OutstandingRequestManager), and doing this concurrently with heavy load.
  
> 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, 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.


[jira] Updated: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shammy Chen updated ODE-507:
----------------------------

    Attachment: OutstandingRequestManager_err_detail.log

> 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.


[jira] Updated: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shammy Chen updated ODE-507:
----------------------------

    Attachment: geronimo.log

> 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
>         Attachments: geronimo.log
>
>
> We loaded ODE process in db mode and got INTERNAL ERROR from ODE, 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.


[jira] Updated: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shammy Chen updated ODE-507:
----------------------------

    Description: 
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.

  was:
We loaded ODE process in db mode and got INTERNAL ERROR from ODE, 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.


> 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
>         Attachments: geronimo.log
>
>
> 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12673112#action_12673112 ] 

Sean Ahn commented on ODE-507:
------------------------------

Shammy,

depending on what persistence you're using can you try this?

1. If you're using hibernate, add the following JVM property:

  -Dode.connection.isolation=2

2. if you're using openjpa, add the following property to the ode-axis2.properties:

  openjpa.jdbc.TransactionIsolation=read-committed

The ode-axis2.properties file exists under ode/WEB-INF/conf where axis2.xml file is. If you do not see the ode-axis2.properties, create one, and add the above line.

If you have questions, let me know.

Thanks

> 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Andi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674750#action_12674750 ] 

Andi commented on ODE-507:
--------------------------

I'm hitting a very similar issue involving a process with multiple 1-way operations (i.e. input only operations).

I'm using ODE with JPA/Oracle (10.2.3.0) and  a recently downloaded apache-ode-war-1.2. 
I've tried applying your suggestion of:
 openjpa.jdbc.TransactionIsolation=read-committed 

I'm now getting this exception:
ERROR - GeronimoLog.error(108) | Scheduled job failed; jobDetail={type=MATCHER, inmem=false, ckey=63~REQUEST_ID_141--1-1, correlatorId=2
<openjpa-1.1.0-r422266:657916 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: ORA-01453: SET TRANSACTION mu
 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.BPELDAOConnectionImpl.getInstance(BPELDAOConnectionImpl.java:77)
        at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:304)
        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:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
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 org.apache.tomcat.dbcp.dbcp.DelegatingConnection.setTransactionIsolation(DelegatingConnection.java:340)
        at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setTransactionIsolation(PoolingDataSource.java:332)

> 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.


[jira] Issue Comment Edited: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672541#action_12672541 ] 

shammychen edited comment on ODE-507 at 2/11/09 12:08 AM:
-----------------------------------------------------------

Strictly speaking,t his error is not caused by OutstandRequestManager at all. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence ( to enlarge thread switch during execution )

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE(another thread) get the old process state from database, the RESPONSE CHANNEL match are sure to fail



      was (Author: shammychen):
    Strictly speaking,t his error is not caused by OutstandRequestManager at all. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE(another thread) get the old process state, the match are sure to fail


  
> 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.


[jira] Updated: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tammo van Lessen updated ODE-507:
---------------------------------

    Fix Version/s: 1.3.5

> 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
>             Fix For: 1.3.5
>
>         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.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "sijo cherian (JIRA)" <ji...@apache.org>.
    [ 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674798#action_12674798 ] 

Sean Ahn commented on ODE-507:
------------------------------

Andi,

thanks for reporting the problem.

If you have not set database transaction isolation level on Oracle system level, the default level for Oracle is READ-COMMITTED. So, setting it through the ode-axis2.properties will not be necessary. It seems the database connections that are returned from openJPA are already used with some queries by the time the transaction isolation level is set. I'll investigate it and update on this Jira item.

I'm interested in what your original problem was without setting the database transaction isolation level. I would appreciate that if you can give me the description of the original problem and/or logs. 

As for the 'loading of the entire candidate class extent', ODE uses 'FlushBeforeQueries=false' to optimize the number of database round trips, which means if you're trying to query against DB when you have already updated some session-registered data, openJPA will not be able to merge the two set of data and present it to user. In such a case, openJPA usually tries to read the entire table. It will affect performance. However, this problem has nothing to do with the 'setting transaction isolation level' problem.

If you can give me a few more lines before the openJPA warning in your logs, that will help me in finding out what entity is involved with the performance problem.

Thanks

> 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672107#action_12672107 ] 

Sean Ahn commented on ODE-507:
------------------------------

Shammy,

from your description, it does sound like it's a thread racing problem. However, without a way to reproduce the problem, for me, it would be tough to find out how this problem is happening. 

I would think we'll get a different exception if the _classDescriptors is the problem. It seems that the _byChannel map in the OutstandRequestManager is used by multiple threads somehow in a non-safe way. By looking through the control paths that lead to the associate() or the register() methods, I cannot find any obvious mis-use regarding threads.

To dig into this problem, I would need to work on writing a specific test case. Before that, I would appreciate that if you can provide me a full log or at least significant amount of logs that leads to this problem, that may be used to diagnose the problem easily.

Thanks

> 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, 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671429#action_12671429 ] 

Shammy Chen commented on ODE-507:
---------------------------------

Can the bug be hidden in  this static field?

private static ConcurrentHashMap<String, ObjectStreamClass> _classDescriptors = new ConcurrentHashMap<String, ObjectStreamClass>();

> 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, 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672850#action_12672850 ] 

Shammy Chen commented on ODE-507:
---------------------------------

Yes, I'm using APACHE_ODE_1.2.  But I tested with both mysql and oracle by jpa ( and plain jdbc dao implemented by myself ) , the same error occured in both situations.


> 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.


[jira] Issue Comment Edited: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672541#action_12672541 ] 

shammychen edited comment on ODE-507 at 2/10/09 11:56 PM:
-----------------------------------------------------------

Strictly speaking,t his error is not caused by OutstandRequestManager at all. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE(another thread) get the old process state, the match are sure to fail



      was (Author: shammychen):
    Strictly speaking,t his error is not caused by OutstandRequestManager at all. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE get the old process state, the match are sure to fail


  
> 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671372#action_12671372 ] 

Sean Ahn commented on ODE-507:
------------------------------

Shammy,

can you attach the process you were using and steps on reproducing the problem? How often do you see the problem when you run the process?

Thanks

> 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: geronimo.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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Andi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674758#action_12674758 ] 

Andi commented on ODE-507:
--------------------------

Just prior to the above exception, the following is logged:

INFO - Log4JLogFactory$LogAdapter.info(80) | This query on type "class org.apache.ode.dao.jpa.CorrelatorDAOImpl" must load the entire candidate class extent and
 evaluate the query in-memory.  This may be very slow.  The query must be executed in memory because OpenJPA is configured with IgnoreCache=false and FlushBeforeQueries=false and there are dirty instances that may affect the query's outcome in the cache.

> 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.


[jira] Issue Comment Edited: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671429#action_12671429 ] 

shammychen edited comment on ODE-507 at 2/7/09 12:40 AM:
----------------------------------------------------------

Can the bug be hidden in  this static field of class ExecutionQueueImpl?

private static ConcurrentHashMap<String, ObjectStreamClass> _classDescriptors = new ConcurrentHashMap<String, ObjectStreamClass>();

ExecutionQueueInputStream uses this static field

      was (Author: shammychen):
    Can the bug be hidden in  this static field?

private static ConcurrentHashMap<String, ObjectStreamClass> _classDescriptors = new ConcurrentHashMap<String, ObjectStreamClass>();
  
> 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, 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.


[jira] Issue Comment Edited: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672541#action_12672541 ] 

shammychen edited comment on ODE-507 at 2/11/09 12:10 AM:
-----------------------------------------------------------

Strictly speaking, this error is not caused by OutstandRequestManager at all, it is actually caused by thread execution sequence. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence ( to enlarge thread switch during execution )

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE(another thread) get the old process state from database, the RESPONSE CHANNEL match are sure to fail



      was (Author: shammychen):
    Strictly speaking,t his error is not caused by OutstandRequestManager at all. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence ( to enlarge thread switch during execution )

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE(another thread) get the old process state from database, the RESPONSE CHANNEL match are sure to fail


  
> 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.


[jira] Assigned: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Alex Boisvert (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Boisvert reassigned ODE-507:
---------------------------------

    Assignee: Sean Ahn

> 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: geronimo.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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674315#action_12674315 ] 

Sean Ahn commented on ODE-507:
------------------------------

Made a change to set the default transaction isolation level to read-committed on ODE hibernate:

r745198 | seanahn | 2009-02-17 11:16:49 -0800 (Tue, 17 Feb 2009) | 1 line
Changed paths:
   M /ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/DataSourceConnectionProvider.java

ODE-507, OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode


> 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674383#action_12674383 ] 

Sean Ahn commented on ODE-507:
------------------------------

Shammy,

did you have a chance to try the 'read-committed' level?

when I tried with the 'repeatable read' on 1.x branch, I got a quite similar problem to your. My problem was:

1. Due to delay in serialization of the Jacob status, the transaction for the second request starts before the transaction for the first request commits.
2. After the first transaction commits, even though the second transaction is not supposed to see changes on the first transaction under the repeatable-read level, the message route is visible on the second transaction due to the 'update lock' on the route table.
3. Since the second transaction sees the route, it goes on, but, later does not find other persistent objects since the isolation level is repeatable-read.

We actually have been recommending the 'read-committed' level for ODE since a long ago.

> 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672820#action_12672820 ] 

Sean Ahn commented on ODE-507:
------------------------------

Shammy,

I want to clarify a few things.

1. The version you're working on is APACHE_ODE_1.2.
2. Your test is with Mysql and hibernate.

I wrote a test case on 1.x. I see a quite similar problem with Mysql and hibernate but not exactly the same error message.

Thanks

> 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.


[jira] Issue Comment Edited: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672541#action_12672541 ] 

shammychen edited comment on ODE-507 at 2/11/09 1:21 AM:
----------------------------------------------------------

Strictly speaking, this error is not caused by OutstandRequestManager at all, it is actually caused by thread execution sequence. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence ( to simulate / enlarge thread switch during execution )

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE(another thread) get the old process state from database, the RESPONSE CHANNEL match are sure to fail



      was (Author: shammychen):
    Strictly speaking, this error is not caused by OutstandRequestManager at all, it is actually caused by thread execution sequence. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence ( to enlarge thread switch during execution )

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE(another thread) get the old process state from database, the RESPONSE CHANNEL match are sure to fail


  
> 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Sean Ahn (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12674320#action_12674320 ] 

Sean Ahn commented on ODE-507:
------------------------------

Made a change to set the default transaction isolation level to read-committed on ODE openJPA:

r745201 | seanahn | 2009-02-17 11:23:00 -0800 (Tue, 17 Feb 2009) | 1 line
Changed paths:
   M /ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java

ODE-507, OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode


> 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.


[jira] Updated: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shammy Chen updated ODE-507:
----------------------------

    Attachment: VpuOustandingDataTest.java

> 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
>         Attachments: geronimo.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.


[jira] Updated: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shammy Chen updated ODE-507:
----------------------------

    Attachment: bpmdemo3-5.zip

This is our ODE process (interacting with TEMPO to deal with human tasks) definition, maybe you can't use it directly. 

The way to reproduce this bug is trying to make ODE swith threads between RECEIVE and REPLY activity(so ExecutionQueueImpl serialize and deserialize OutstandingRequestManager), and doing this concurrently with heavy load.

> 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, 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.


[jira] Commented: (ODE-507) OutstandingRequestManager(ExecutionQueueImpl serialization) failed when ODE loaded in db mode

Posted by "Shammy Chen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12672541#action_12672541 ] 

Shammy Chen commented on ODE-507:
---------------------------------

Strictly speaking,t his error is not caused by OutstandRequestManager at all. Any way, I can reproduce this error quite easily now,see the attached file OutstandingRequestManager_err_detail.log for reference:)

The way to reproduce this error is as follows:

1)design a process with at least two RECEIVE activities ( the first one to create a new process instance, the second one to match the newly created instance )

2)modify execute mothod of class BpelRuntimeContextImpl, sleep some time( say 10 seconds ) before this statement
_dao.setExecutionState(bos.toByteArray());
to delay VPU state persistence

3)call the service exposed by the second RECEIVE activity as soon as possible( before VPU state and pickResponseChannel persistence), so ODE get the old process state, the match are sure to fail



> 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.