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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-rx message

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


Subject: Re: [ws-rx] NEW ISSUE: Remove LastMessage


Doug Davis wrote:

<snipped for readability/>

>  > 3) What I'm saying is the following -
>  > When:
>  > a) an LM marker is present in the last message, and
>  > b) the RMD receives all the messages upto and including the message with
>  > the LM marker. I.e. all the messages in the range [1, Seqno(LM-message)]
>  > then:
>  > at that point the RMD knows that it has received all the messages in the
>  > sequence. In certain implementations it can make the determination that
>  > it no longer needs the message store (it still needs to be around to ack
>  > messages) -- assuming that the messages have been successfully delivered
>  > to the AD. i.e., it can give up its message store resource at this point
>  > but *not* terminate the Sequence.
> 
> Why would it need to keep them around w/o the LM marker?  Once a message
> has been delivered to the AD why would the RMD need to keep it around at
> all - regardless of the LM marker?
> 

I'm talking about the message store being kept around, not the messages.
Without the LM marker, the RMD does not know that it doesn't need the 
queue/store anymore.

>  > Without the LM marker, it will never know if it has received all the
>  > messages in the Sequence until it receives the TerminateSequence message
>  > (which is unreliable).
> 
> Under what situations would the RMD not deliver a message to the AD when it
> has all of the messages from 1 to X and then NOT clear up its store for 
> those
> messages?  Once it has 1 it can deliver it and erase it, once it did that
> it can do it for 2, then 3.... marking X as the LM doesn't change that.
> 

This is a tangential issue and not relevant to the LM marker issue.
But it is possible that the AD is intermittently disconnected, in which 
case the RMD may have all the messages but may not be able to deliver 
the messages till AD is connected again.

I'm not talking about message clean up, but about giving up the 
store/connection/session/whatever.


>  > To take the previous example, there are 3 messages in the sequence -
>  >
>  > scenario A: LM marker present in message # 3, RMD has received all the
>  > messages (1, 2, 3) but not the TerminateSequence. RMD knows that there
>  > will never ever be message number 4 (and beyond) and therefore does not
>  > need the message store (but still needs to hang around to ack).
> 
> Doesn't need it for 1,2 and 3 at all anyway since there's nothing stopping
> it from deliverying all 3 to the AD and erasing it from its store.
> 

Yes, but it cannot give up the store itself.

>  > scenario B: LM marker is not present in message # 3, RMD has received
>  > all the messages (1, 2, 3) but not the TerminateSequence. RMD does not
>  > know that there won't be a message number 4 (and beyond) and therefore
>  > may indeed need the message store (say if 5 were to arrive before 4 and
>  > the DA was inOrder, it will have to store 5 till it receives 4 and then
>  > delivery both).
> 
> But it can still deliver and erase 1, 2 and 3 - same as above.  LM doesn't
> change that.
> 

Correct for the messages themselves, but not for the store related 
resources.

>  > So I think that the LM marker does allow the RMD to free up certain
>  > (though not all) resources when it has received all the messages in the
>  > sequence and before the TerminateSequence message is received (this of
>  > course would depend on the implementation, YMMV).
>  >
>  > Hope that makes sense.
>  >
>  > Thx.
>  >

<snipped for readability/>



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