not reproxying alternate files

Eric Lambrecht eml at guba.com
Fri Feb 29 01:34:03 UTC 2008


We just noticed that our perlbal wasn't reproxying the alternate files 
we gave to it via X-REPROXY-URL when the first file was missing. We'd 
send this:

	X-REPROXY-URL: http://127.0.0.1/foo http://127.0.0.1/bar

If 'foo' didn't exist on the remote server, perlbal was returning a 503 
response and not trying to get 'bar'.

It's basically because both try_next_uri and use_reproxy_backend shift 
items off the $ClientProxy->reproxy_uris array. The second choice was 
being shifted off before we got a chance to try it.

Funny that it took us 2 years to notice this...

Eric...


--- ClientProxy.pm      2008-02-28 17:32:13.000000000 -0800
+++ ClientProxy.pm.new  2008-02-28 17:32:41.000000000 -0800
@@ -184,7 +184,6 @@
  sub try_next_uri {
      my Perlbal::ClientProxy $self = $_[0];

-    shift @{$self->{reproxy_uris}};
      $self->{currently_reproxying} = undef;
      $self->start_reproxy_uri();
  }


More information about the perlbal mailing list