Mailing List Archive

Strange Not Found (URL was not found on this server) problem with backhand
Hello mod_backhand users,

I have two backhanded servers (RH9 & RH7.3). It is a pretty typical
configuration where requests come in via https and are backhanded via
http. Requests come in through a virtual IP maintained by wackamole
held by one of the two machines.

I am doing some testing with byRandom because it distributes requests to
both boxes and is simple for our QA effort of our application on this farm.

The apache/backhand configurations are the same on both servers.

If I start up one or both machines, everthing works fine.

Howerver, If both machines are running and I stop apache on one of them
(doesn't seem to matter wich one), then every third or forth request get
s a "Not Found" error. All my virtual hosts have different log files,
so I know the requests that work and the requests that fail are going to
the same https virtual host. As at this point only one box has apache
running, there is no where for backhand to be sending the request
anyway. The /backhand-status/ looks as I expect (the machine I killed
apache is red).

What is really bizzar, is that the access_log for this virtual host is
identical for the request that works and the request that fails with a
Not Found (at least the URI is identical, not the error codes).

For example, here is the entry form my https virtual host (the first
requests work, the third does not):

69.162.181.9 - - [09/Jan/2004:12:37:21 -0800] "GET
/p5/images/b.profile.h.gif HTTP/1.1" 304 -
69.162.181.9 - - [09/Jan/2004:12:37:21 -0800] "GET
/p5/images/b.profile.h.gif HTTP/1.1" 304 -
69.162.181.9 - - [09/Jan/2004:12:37:22 -0800] "GET
/p5/images/b.profile.h.gif HTTP/1.1" 404 231

Then the third requets produces the following error:

[Fri Jan 9 12:37:22 2004] [error] [client 69.162.181.5] File does not
exist: /p5/images/b.profile.h.gif

Again, If I only start one machine, this doesn not happen. It only
happens when both machines are in the farm and I take one of them out.

In my https virtual host I have the following:

<Directory "/usr/local/apache-1.3.28-backhand/htdocs/p5/images">
#Backhand byBusyChildren
Backhand byRandom
</Directory>

And of course my DocumentRoot is /usr/local/apache-1.3.28-backhand/htdocs

Any help would be much appreciated.
Thanks,
-Rama
Strange Not Found (URL was not found on this server) problem with backhand [ In reply to ]
On Jan 9, 2004, at 4:34 PM, Rama K. McIntosh wrote:

> Hello mod_backhand users,
>
> I have two backhanded servers (RH9 & RH7.3). It is a pretty typical
> configuration where requests come in via https and are backhanded via
> http. Requests come in through a virtual IP maintained by wackamole
> held by one of the two machines.
>
> I am doing some testing with byRandom because it distributes requests
> to both boxes and is simple for our QA effort of our application on
> this farm.

byRandom and byBusyChildren are both pretty good for the two server
setup.

When you kill Apache one machine, backhand doesn't care. It knows the
machine existed and will continue to direct traffic to it, unless one
of your rules says not to. That is why the byAge rule exists and
_should always_ come first in any rule set. So, make sure you are
using byAge and then byRandom and not just byRandom by itself.

byAge will make sure that servers you haven't heard from in a "while"
are no longer eligible to be backhanded to. The default is 5 seconds,
but you can specify the max age you want -- see the docs.

// Theo Schlossnagle
// Principal Engineer -- http://www.omniti.com/~jesus/
// Postal Engine -- http://www.postalengine.com/
// Ecelerity: fastest MTA on earth
Strange Not Found (URL was not found on this server) problem with backhand [ In reply to ]
Theo Schlossnagle wrote:

> When you kill Apache one machine, backhand doesn't care. It knows the
> machine existed and will continue to direct traffic to it, unless one
> of your rules says not to. That is why the byAge rule exists and
> _should always_ come first in any rule set. So, make sure you are
> using byAge and then byRandom and not just byRandom by itself.
>
> byAge will make sure that servers you haven't heard from in a "while"
> are no longer eligible to be backhanded to. The default is 5 seconds,
> but you can specify the max age you want -- see the docs.

Thank you Theo. This fixed my probem.

-Rama