On Wed, Feb 10, 2010 at 10:56:14PM +0000, Nick Chalk wrote:
> Thanks Willy, Krzysztof.
> 
> 2010/2/10 Willy Tarreau <w...@1wt.eu>:
> > Did you managed to fix the several remaining issues which could cause
> > it to crash the process ?
> 
> I believe so, following Cyril Bonté's suggestions last week. I'm still
> testing it, though.

OK, we talked with Cyril about all the issues in this patch, so it's
possible that you both finally got it right !

> 2010/2/10 Krzysztof Ol??dzki <o...@ans.pl>:
> > On 2010-02-10 23:02, Willy Tarreau wrote:
> >> Krzysztof Oledsky proposed a patch to make use of recv(MSG_PEEK)
> >> in order to leave incomplete data in kernel buffers instead of consuming
> >> it. I don't think it could have any side effect, you may want to try it.
> >> It was about 3-4 weeks ago on the list.
> >
> > Yep, it is worth to try it, but it is still a dirty fix. I have idea how to
> > make it right, but haven't been able to find time to do it, yet.
> 
> Thanks - I'll try that tomorrow, and report my findings.

Thanks!

> What was confusing me was that the test would succeed a fair
> proportion of the time!

That's typical of such packet-based parsing. In general, a good way
to check if this is what you're seeing is to slow down the machine
you run haproxy on (run a few "while :; do :; done&" in parallel)
then see if it starts working again, due to the fact that when haproxy
gets the CPU, most of the time all packets have reached the kernel
buffers.

Regards,
Willy


Reply via email to