Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-535

conflictingReceive fault is thrown where no error is expected

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.3.2
    • 1.3.4
    • BPEL Runtime
    • None

    Description

      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.

      Attachments

        Activity

          People

            rrusin Rafal Rusin
            rrusin Rafal Rusin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: