[omniORB] OmniEvents

Storm,Ole OLS ols@kmd.dk
Fri, 28 Jan 2000 09:47:32 +0100


Hi Paul,

> Your understanding is correct. The problem is that the event 
> channel can't
> assume
> that a client that dies without disconecting will not become 
> active again
> sometime
> in the future. Hence, it can't just discard the ProxySupplier.

Ok, that seems reasonable. It would be nice, however, and could be a
solution to our problem, if each ProxySupplier in a channel could be
identified in some way, such that a consumer C_i that has died will have an
oportunity to reuse the ProxySupplier when the consumer i restarted. Do you
know if the Event Service specification adresses this problem?

Regards,
	Ole.

> > Hello omniORBers,
> >
> > We have been using the omniEvents 1.0.3 service for some 
> months now and are
> > quite happy with it.
> >
> > We have, however, a small problem explained here:
> >
> > The setup is as follows. The system has one supplier (S) 
> and n consumers
> > (C_i), that communicates through one common event channel 
> (EC). The event
> > channel is owned and constructed by an EventChannelFactory 
> (ECF). The
> > supplier, all consumers and the EventChannelFactory are 
> separate processes.
> > The supplier and consumers are of following kind:
> >
> > S: PushSupplier,
> > C_i: PullConsumer, using try_pull() to poll for events
> >
> > When a consumer is started, it connects to the event 
> channel, listens for
> > events, and disconnects from the channel when terminated. 
> However, if a
> > client goes down, i.e. is not terminated 'nicely', it never gets
> > disconnected from the eventchannel! Since event channels 
> queue all events
> > recieved until they are 'delivered' to consumers, the queue 
> associated with
> > the consumer that died, will start to grow in size continously. As a
> > consequence, the EventChannelFactory-process will start to 
> garbage whenever
> > a client has a sudden death.
> >
> > Is there a way I can handle this problem within omniEvents 1.0.3???
> >
> > I have seen, that with omniEvents 2.0 it is now possible to 
> set how many
> > events are buffered by each ProxySupplier. I think, 
> however, that this is
> > only half a solution to this problem, since the 
> EventChannelFactory process
> > will garbage the size of the buffer for every consumer that dies.
> > Am I right, or have I misunderstood something here?
> >
> > Best regards,
> >
> >         Ole.
> >
> > > Ole Storm, ols@kmd.dk
> > > Udvikler, PUI
> > > KMD A/S
> > > Niels Bohrs Alle 185
> > > 5220 Odense Sリ
> > > Tlf  44 60 52 83
> > >
> > >
> > >
>