[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: Issue - 223 - Replying to faulted Replies
Hi, This is a draft proposal for Issue 223,
please let me know what you think. This issue can be sub-divided into two
parts, one dealing with the missingRequest fault, and another dealing with the
missingReply fault. The latter has dependencies on 221 (Issue 221 - Questions
around missingReply), so it is not included in this proposal, but will
eventually be part of the final proposal. --- begin --- Change the following
paragraphs from Section 11.4: If a reply activity cannot be associated with an
incomplete receive activity by matching the tuples and this error situation is
not caught during static analysis, then bpws:missingRequest fault MUST be thrown within the BPEL process on the reply activity.
Because conflicting requests should have been rejected at the time inbound
message activity is executed, there cannot be more than one corresponding
inbound message activity at the time <reply> is executed To the following: If a reply activity cannot be associated with an
incomplete receive activity by matching the tuples and this error situation is
not caught during static analysis, then bpws:missingRequest fault MUST be thrown within the BPEL process on the reply activity.
Because conflicting requests should have been rejected at the time inbound
message activity is executed, there cannot be more than one corresponding
inbound message activity at the time <reply> is executed. A reply activity that faults, that
is, that throws some BPEL fault, such as bpws:correlationViolation fault, is
not considered to have completed its associated open inbound message activity.
This means that the inbound message activity remains incomplete and hence a
associated reply activity can still be performed without causing a
bpws:missingRequest to be thrown. --- end --- There is a caveat to this, what happens
when you have two concurrent flow links that both have a reply activity
associated to the same inbound message activity and are executed at the same
time? Because we state in the spec that: ‘…An incomplete inbound message activity describes the state of a BPEL
process from the point that a request/response receive activity starts
execution until its associated reply begins
execution…’, keyword being
‘begins’, it seems to me to indicate that the 2nd reply
activity (which ever it is) would raise a missingRequest fault, because the 1st
reply activity already started executing and thus has completed the IMA
(inbound message activity). But what if the 1st reply activity actually
fails (e.g. correlationViolation fault) afterwards, in this case the IMA will
again be set to open, but the 2nd reply activity would already have
failed with the missingRequest fault. This seems messy. There are options to work-around this
caveat: - Consider the reply activity as atomic,
in which case the 2nd reply would have blocked until the 1st
reply activity finishes (successfully or not); or - Define the IMA to be scoped to the
‘end’ of the execution of the reply activity, in which case we open
the door for more race conditions; or - Don’t allow for faulted replies to
be re-executed; None of which seem attractive. Moreover, a IMA defines a state (i.e.
open, completed), but I don’t think we have ever defined how this state
plays out with the isolated scopes. If one replies within a isolates scope, is
the state change (open -> completed) of the IMA seen by the rest of the
process before the isolated scope finishes? Thanks, From: ws-bpel issues
list editor [mailto:peter.furniss@choreology.com] This
issue has been added to the wsbpel issue list with a status of
"received". The status will be changed to "open" if a motion
to open the issue is proposed and that motion is approved by the TC. A motion
could also be proposed to close it without further consideration. Otherwise it
will remain as "received". The
issues list is posted as a Technical Committee document to the OASIS WSBPEL TC
pages on a regular basis. The current edition, as a TC document, is the
most recent version of the document entitled in the "Issues" folder
of the WSBPEL
TC document list - the next posting as a TC document will include this
issue. The list editor's working copy, which will normally include an issue
when it is announced, is available at this
constant URL. Issue
- 223 - Replying to faulted Replies
Status: received Is that
legal? That is, if a reply has been 'started' but doesn't 'complete' due to a
fault then is an attempt to complete the reply later by another reply activity
an invalidReply? The current language around messageExchange would certainly
make it seem so. If it is
legal and the system decides not to send a second reply (e.g. the program, upon
receiving the fault, just gives up on that message exchange and lets it time
out) then must a missingReply fault be sent out since the reply still could be
completed? To
comment on this issue (including whether it should be accepted), please
follow-up to this announcement on the wsbpel@lists.oasis-open.org list
(replying to this message should automatically send your message to that list),
or ensure the subject line as you send it starts
"Issue - 223 - [anything]" or is a reply to such a message. If you
want to formally propose a resolution to an open issue, please start the
subject line "Issue - 223 - Proposed resolution", without any Re: or
similar. To add a
new issue, see the issues procedures document (but the address for new issue
submission is the sender of this announcement). Choreology Anti virus scan completed |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]