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
- From: Doug Davis <dug@us.ibm.com>
- To: ws-rx@lists.oasis-open.org
- Date: Thu, 1 Dec 2005 02:06:13 -0500
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]