OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

wsrm message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: MP10 question

Title: MP10 question

Mark Peel wrote:
  Finally, a question.  The group establishment logic outlined in 5.1.2
strongly implies a Receiving RMP cannot acknowledge messages received
for a group if it has not received the group's SequenceNum==0 message: a
message after the first might have invalid group items (e.g., using
groupMaxIdleDuration instead of groupExpiryTime) and would get faulted
after being ack'ed.  Am I reading this correctly?

My answer:
Good point. Both RMP behaviors you mention above would not be desired,
and we need to make this more explicit.
For un-ordered groups, it may happen that the the first message(s) (SeqNum=0, 1,2...)
is (are) never received, or received late, yet subsequent messages should be
delivered and acked. If I remember well discussions on this, the desired behavior
for the Receiving RMP, would be to use the first message received, for adjusting the
timeout termination conditions on Receiving RMP.
We may want to extend (a) in 5.1.2 with a statement on this (see proposal below)

Beside this, a late SeqNum=0 message with a different termination parameter than the
first received message for this group, would indeed reveal a discrepancy.
But any message received for this group before SeqNum=0 must be delivered and acknowledged,
even if their termination parameter happens to not match the one of SeqNum=0.
Although the spec is silent on the behavior (Fault?), I believe a Fault (and no delivery)
is implied for the message received that reveals a discrepancy(here SeqNum=0).

For improving wording of 5.1.2:
- I propose that the last sentence of 5.2.1 be developed to list all the Fault cases
related to this section.
This could mean using a bullet list (e.g. of a bullet: "failure to satisfy (b) will cause
Fault XYZ..."), and moving bullet #3 currently under (a), under this "Fault"
- Also, enhance (a) (added last sentence):
(a) The First message in a group (the one with Request/MessageId/SequenceNum/@number=0) MUST
be used by the Sending RMP to indicate which timeout parameter is in use for the group. However, the first message received for this group by the Receiving RMP MUST be used for indicating which termination parameter is associated with this group.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]