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



Anish,
 ok - I think I finally get it.  Don't know how big of an issue this is.  Right now the RMD can experience
this same problem when it creates sequences that are never used - which the inactivityTimeout
was supposed to help.  I guess this situation would be bad for the RMD if two things were true:
1) the queue was kept separate from the other metadata about the sequence and could be deleted
w/o impacting the ability of the RMD to return the ACKs, and
2) the size of an empty queue was a concern for the RMD
Dunno...
thanks
-Doug


Anish Karmarkar <Anish.Karmarkar@oracle.com> wrote on 11/30/2005 09:50:20 PM:

> 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]