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