Perlbal - write_event called very infrequently during reproxy, causing lots

This is Interesting: Free IT Magazines  
Home > Archive > Perlbal > January 2007 > write_event called very infrequently during reproxy, causing lots





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author write_event called very infrequently during reproxy, causing lots
Eric Lambrecht

2007-01-22, 1:11 pm

We had an issue here where numerous downloads that perlbal was proxying
out to our users (from mogile, *natch*) were getting cut off for some
reason.

After turning on debugging, it appears the 'alive_time' field in
Perlbal::Socket wasn't being updated, and so the ClientProxy object was
being closed by the Socket::_do_cleanup() idle socket closer.

I see that 'alive_time' should be updated every time
ClientProxy::event_write() is called, but when I turn on debugging I
find that that method gets called very rarely while reproxying files. It
happens so rarely that 'alive_time' doesn't get updated every 30
seconds, _do_cleanup closes the socket, and our downloads get cut off.

I hacked together a solution by writing a Perlbal::Socket::write()
method that updates alive_time before calling Danga::Socket::write(),
and that seems to solve things, but I'm not certain it is correct (does
just writing to the socket imply it is still alive?).

Anybody else ever experience this problem?

Eric...

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com