> -----Original Message-----
> > The close may get through. It is a (kind of) race condition, inside
> the tcp
> > stack. Assume the following happens (System S being the server,
> system C
> > being  the client):
> >
> > S : closes connection, sends close info
> > C1: rsyslog writes data (not yet sent, but acknowledged by tcp stack)
> > C2: receives close request
> > C3: discards data
> >
> > The race is in C1/C2. In this order, data is lost. If C2 happens
> before C1,
> > no data is lost. No chance to solve that with plain tcp without app-
> level
> > acks.
> 
> but that window should be very short, for it to last long enough to
> show
> up in the netstat commands sounds odd to me.

Ah, I didn't pay attention to the netstat. You are right, in *this* case the
close looks like it does not go through. HOWEVER, for the argument I have
given, this race exists in general. The window is extremely short (at least
on a local LAN), but I have learned if there is a potential for a race, it
will happen sooner or later. Chances go up very soon as quickly as you have
millions and millions of cases... Just yesterday I was able to find a race
with a much lower probability in v5-beta during shutdown... And it really
happened (thankfully only in my lab, where I set parameters to make such
races more probable).

Rainer
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to