[Openais] Best solution for safe request / reply protocol

Steven Dake sdake at redhat.com
Mon Aug 21 13:22:40 PDT 2006


On Mon, 2006-08-21 at 09:56 -0700, Mark Haverkamp wrote:
> On Sat, 2006-08-19 at 10:47 -0500, Muni Bajpai wrote:
> > yes there is no guarantee that the evt message will be delivered. There is a 
> > guarantee that it will be delivered in order. So in essence if the message 
> > is not delivered then you can be sure that no messages post this message 
> > will be delivered either. 
> 
> The specification says that an event may be dropped and others following
> may be delivered.  What is required is that the application is notified
> that one or more events have been dropped. Check out paragraph 1 on page
> 14 of the sai-ais-evt-B.01.01 specification (Section 3.1.2).
> 
> 
> > What that means is that if that message is not 
> > delivered then a critical problem has happened and it will manifest itself 
> > in the way of a configuration change i.e the node will drop out of the 
> > cluster which tells you to start taking cleanup action.
> 
> This is not necessarily true.  If the application can not process
> incoming events fast enough the event service can drop events to that
> application as long as the application is notified.  This will not cause
> a reconfiguration.  There are config file tweaks to increase the size of
> the event delivery queue if applications are having a hard time keeping
> up.
> 
> 

I believe what Muni means is that if the underlying totem protocol fails
to continually deliver a message, a node that is noticing a missing
message will cause the membership protocol to be invoked.

It should be noted this is separate from the event service, which uses
the totem protocol for communication.  The event service as Mark has
said can drop messages as per specification.

Regards
-steve

> > 
> > Another way .. is to checkpoint a counter that you increment every message 
> > that is recieved on the server side and the client doesnt send the next 
> > message until the counter its reading is updated by the server. (This is a 
> > little wasteful) but it guarantees the result you are looking for.
> > 
> > Muni
> > ----- Original Message ----- 
> > From: "Fabien THOMAS" <fabien.thomas at netasq.com>
> > To: <openais at lists.osdl.org>
> > Sent: Friday, August 18, 2006 9:05 AM
> > Subject: [Openais] Best solution for safe request / reply protocol
> > 
> > 
> > I would like to do a simple application to remotely execute an action
> > and wait for a result.
> > 
> > I've seen some different messaging API in openais (evs, evt, msg) and
> > i would like to known what is the best method to do that.
> > 
> > the protocol will look likes that:
> > 
> > client:
> > 
> > open channel to <id>
> > send request (here i would like to be sure the message is delivered
> > but it seems that safe message is not implemented ?)
> > wait for reply
> > close channel
> > 
> > server:
> > 
> > create channel <id>
> > loop:
> > wait for request
> > doit
> > send reply
> > 
> > Maybe someone can help me to make the best choice.
> > 
> > Regards,
> > Fabien
> > _______________________________________________
> > Openais mailing list
> > Openais at lists.osdl.org
> > https://lists.osdl.org/mailman/listinfo/openais 
> > 
> > _______________________________________________
> > Openais mailing list
> > Openais at lists.osdl.org
> > https://lists.osdl.org/mailman/listinfo/openais
> > 




More information about the Openais mailing list