conflictingReceive fault is thrown where no error is expected -------------------------------------------------------------
Key: ODE-535 URL: https://issues.apache.org/jira/browse/ODE-535 Project: ODE Issue Type: Bug Components: BPEL Runtime Affects Versions: 1.3 Reporter: Rafal Rusin Fix For: 1.3 I made a following process: <bpws:receive createInstance="yes" operation="initiate"> <bpws:correlations> <bpws:correlation initiate="yes"/> </bpws:correlations> </bpws:receive> <bpws:reply operation="initiate"/> <bpws:scope> <bpws:eventHandlers> <bpws:onEvent operation="initiate"> <bpws:correlations> <bpws:correlation initiate="no"/> </bpws:correlations> <bpws:scope> <bpws:sequence> <bpws:reply operation="initiate"/> </bpws:sequence> </bpws:scope> </bpws:onEvent> </bpws:eventHandlers> <bpws:sequence> <bpws:wait> <bpws:for><![CDATA['PT30M']]></bpws:for> </bpws:wait> </bpws:sequence> </bpws:scope> Then I sent two requests with delay 1 second: initiate 101 wait 1 second initiate 101 A delay is for not causing conflictingRequest fault (which is not distinguished by ODE and thrown as conflictingReceive according to this: http://cwiki.apache.org/confluence/display/ODExSITE/WS-BPEL+2.0+Specification+Compliance). For second request I got a conflictingReceive fault. However, here, no error should be thrown. Here's a stacktrace for throwing conflictingReceive: 17:18:44,223 | ERROR | ODEServer-1 | BpelRuntimeContextImpl | eronimo.kernel.log.GeronimoLog 108 | conflictingReceive java.lang.Exception at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.select(BpelRuntimeContextImpl.java:333) at org.apache.ode.bpel.runtime.EH_EVENT$SELECT.run(EH_EVENT.java:137) at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) 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.PartnerLinkMyRoleImpl.invokeInstance(PartnerLinkMyRoleImpl.java:240) at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:224) at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:392) at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:391) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:388) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:386) at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:380) at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:208) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:379) at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:376) 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) So, I think an OutstandingRequestManager may incorrectly throw an exception on select registration, while there should be an error later on receiving an actual request. This will allow to dispatch a request via reply during onevent without any fault. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.