Pick activity eats messages that it does not consume

Consider the following code fragment:
<while name="while-1" condition="bpws:getVariableData('counter') &lt; 2">
<pick name="pick-1">
<onMessage partnerLink="rcvr1" portType="tns:BasicCallback" operation="onResult" variable="rcvd1">
</onMessage>
<onMessage partnerLink="rcvr2" portType="tns:BasicCallback" operation="onResult" variable="rcvd2">
</onMessage>
<onMessage partnerLink="rcvr3" portType="tns:BasicCallback" operation="onResult" variable="rcvd3">
</onMessage>
</pick>
</while>
In principle, this fragment of process will perform a number of iterations (let's say two iterations) and for each of these iterations it will consume one among three possible types of messages (the messages have the same type but come from different partner links).
I have run this process in a situation where all the three messages (which come from the three different partner links) are sent at the same time and thus (in most executions) they arrive to the BPEL process at the same time. The problem that I'm having is that during the first iteration, the Pick activity consumes one of the message (say the message over "rcvr1") and it then discards the other two messages which are sitting on the message queue (i.e. the messages that arrived through partner links "rcvr2" and "rcvr3"). As a result, these two messages are no longer available during the second iteration of the "while" loop, and the process just waits forever.
Reading Section 12.4 of the BPEL 1.1 spec. there's nothing in there that says that messages that are not consumed by a Pick activity should be discarded.
Specifically, the execution log that I'm getting looks something like the following:
... [first iteration]
rcvr3 (onResult) (cancelled)
[2005/06/09 14:42:28] Waiting for message from "rcvr3", operation is "onResult".
[2005/06/09 14:42:32] Receive activity has been cancelled.
rcvr2 (onResult) (cancelled)
[2005/06/09 14:42:28] Waiting for message from "rcvr2", operation is "onResult".
[2005/06/09 14:42:32] Receive activity has been cancelled.
rcvr1 (onResult)
[2005/06/09 14:42:28] Waiting for message from "rcvr1", operation is "onResult".
[2005/06/09 14:42:32] Received "onResult" callback from partner "rcvr1" More...
<rcvd1>
... [second iteration]
rcvr3 (onResult) - pending
[2005/06/09 14:42:32] Waiting for message from "rcvr3", operation is "onResult".
rcvr2 (onResult) - pending
[2005/06/09 14:42:32] Waiting for message from "rcvr2", operation is "onResult".
rcvr1 (onResult) - pending
[2005/06/09 14:42:32] Waiting for message from "rcvr1", operation is "onResult".
Interestingly, sometimes it happens that one of the 3 messages arrives one second before the other two. In this case, The Pick activity consumes the first message during the first iteration, then the process goes into the second iteration and the "Pick" activity then consumes a second randomly chosen message (but still it "eats" the third message).
This behaviour has been observed in Oracle BPEL 2.1.2
Kind regards
Marlon Dumas (m . dumas @ qut . edu . au)
Queensland University of Technology, Australia

Thanks Marlon. I will communicate the same to dev team.

Similar Messages

Maybe you are looking for

  • Can't import photos into iPhoto-- it sees them but won't import

    I've been using iPhoto with my Mac Mini for almost a year now without a single issue (that's the main reason I bought a mac). I believe I have iPhoto 08 (I bought the computer 1 year ago). I have a newer Canon point-and-shoot that I've been using. Ab

  • SCOM 2012R2 - Alerts Not Generating, Must Restart SCOM to Resolve

    Hi TechNet, I am having an issue with my SCOM 2012R2 where the system goes into a state where alerts are not generated.  We start to see events like the one below leading up to the point where this happens. This is resolved by restarting our SCOM MS.

  • Eclipselink JPA error

    Hi, I'm using Oracle JDeveloper 11.1.2.2.0 and the eclipselink JPA provider (integrated in Toplink library). I can run my web application in IDE. However, when I deployed my application to the embedded WLS via a WAR file, I got the following error: E

  • Add a field selection to ldb IMA

    Hi friends, could you give a help on this requirement : I need to add a selection field ( pa_vgsber like IMAK-VGSBER ) to a selection screen of logical database IMA in order to select this field in tcode IMR1. I have tried to create a 'CUST' selectio

  • Do I need to turn you in to the Attorney General????

    cancelled this service back in MAY 2015 and I hevv been charged 3times since then. I want my money back ASAP or I will file a claim with the Attorney Generals Office.  For your reference this is Case #: 02973654