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

Reply via email to