Brad Fitzpatrick brad at
Thu Jul 21 08:59:35 PDT 2005

On Thu, 21 Jul 2005, marcel evenson wrote:

> Now that I have this all up and running I have a few more questions.
> 1. In the perl and php client API I don't see a method for grabbing the
> filesize for the key? Am I missing something? Doesn't the filesize have to
> be sent with the header info (Content-Length:) I'm using X-REPROXY..

Don't need it --- Perlbal will fill it in.  You can, however, send the
X-REPROXY-EXPECTED-SIZE header if your application knows what size to
expect to send.   In that case Perlbal will verify that if there are
multiple copies, it finds a copy with the right size.  (just extra

> 2. Are there gracefull startup and shutdown scripts for mogilefsd, mogstored
> , and perlbal (I know you can telnet to perlbal and issue commands) ?

They've been written.  They're in Jay Bonci's deb archives (he packaged it
all up for Debian), but I'm not sure the URL.

> 3. Does perlbal do any type of request logging?

No.  As it started out a reverse proxy, I always said the app should do
it.  It might be useful for webserver mode, though.

We'll probably build it at some point.  Or I'd take a patch.  Can't use
syslog() because it could block.  You'd need to use our Danga::AIO layer
to do async writes with whatever AIO is available, and make sure only one
outstanding write is out there so you order them correctly.  If a write is
already outstanding, just append to a buffer of things to write next.
Maybe only block if that buffer-to-be-written-next gets too large, and
emit some huge warning that your disk subsystem is interfering with the
current level of traffic.

Also, I'd ideally like to see logging done as a per-service plugin, even
if it means sprinkling new hooks throughout the generic code.

- Brad

> Also just a note that the current cvs version of perlbal won't complile for
> me on debian sarge.

make clean
perl Makefile.PL

> # make
> make: Warning: File `Makefile.PL' has modification time 1.2e+04 s in the
> future
> Makefile out-of-date with respect to Makefile.PL
> Cleaning current config before rebuilding Makefile...
> make -f Makefile.old clean > /dev/null 2>&1 || /bin/sh -c true
> /usr/bin/perl Makefile.PL
> Checking if your kit is complete...
> Looks good
> Writing Makefile for Perlbal
> ==> Your Makefile has been rebuilt. <==
> ==> Please rerun the make command.  <==
> false
> make: *** [Makefile] Error 1

More information about the perlbal mailing list