Hey,
We have been using mod_backhand for load balancing for a little while, and
have been experiencing some weirdness (which someone may or may not have
an answer for), and hit something where we need to modify backhand to
achieve something.
The bug:
Apache processes lock up in 'W' mode for forever. We're running 1.3.19
(used to be 1.3.17, upgrade didn't help), CVS mod_backhand, and
mod_fastcgi for cgi requests. They seem to be essentially random, but
always in the range of being backhanded, I believe. I see this problem
creeping up every so often on the main apache mailing lists, but I have
not seen a good answer yet, so if anyone knows, I'd be grateful... We're
getting pretty sick of that bug.
The feature:
We need to be able to configure mod_backhand to _never_ handle requests
locally if told to. We're trying to get it to do this via
Backhand removeSelf
Backhand byAge 10
Backhand byRandom
etc, but sometimes it handles the request itself just for fun. We have
four dedicated webservers in the loop, but it doesn't always backhand
right.
Upon looking through the source code, I see that it defaults to locally
handling the request if the decision process returns an empty list, or
if there are connection issues (correct me if I'm wrong.) I would like to
give it another option (essentially to dump an error, or default redirect
it to a machine, even if it's a hard definition in the config file, which
would be preferred.) I see where I can do this in the code, but it would
be painful to edit, and would require editing more than a little bit of
code. I'm also not terribly familiar with apache module code yet.
I will help out, and I will write patches. I know the code pretty well at
this point.
Here is part of the configuration, in case you need this to answer
anything:
<IfModule mod_backhand.c>
UnixSocketDir /home/lj/var/backhand
MulticastStats 10.0.0.1 10.0.0.255:4445
AcceptStats 10.0.0.0/8
</IfModule>
Thanks,
-Alan
We have been using mod_backhand for load balancing for a little while, and
have been experiencing some weirdness (which someone may or may not have
an answer for), and hit something where we need to modify backhand to
achieve something.
The bug:
Apache processes lock up in 'W' mode for forever. We're running 1.3.19
(used to be 1.3.17, upgrade didn't help), CVS mod_backhand, and
mod_fastcgi for cgi requests. They seem to be essentially random, but
always in the range of being backhanded, I believe. I see this problem
creeping up every so often on the main apache mailing lists, but I have
not seen a good answer yet, so if anyone knows, I'd be grateful... We're
getting pretty sick of that bug.
The feature:
We need to be able to configure mod_backhand to _never_ handle requests
locally if told to. We're trying to get it to do this via
Backhand removeSelf
Backhand byAge 10
Backhand byRandom
etc, but sometimes it handles the request itself just for fun. We have
four dedicated webservers in the loop, but it doesn't always backhand
right.
Upon looking through the source code, I see that it defaults to locally
handling the request if the decision process returns an empty list, or
if there are connection issues (correct me if I'm wrong.) I would like to
give it another option (essentially to dump an error, or default redirect
it to a machine, even if it's a hard definition in the config file, which
would be preferred.) I see where I can do this in the code, but it would
be painful to edit, and would require editing more than a little bit of
code. I'm also not terribly familiar with apache module code yet.
I will help out, and I will write patches. I know the code pretty well at
this point.
Here is part of the configuration, in case you need this to answer
anything:
<IfModule mod_backhand.c>
UnixSocketDir /home/lj/var/backhand
MulticastStats 10.0.0.1 10.0.0.255:4445
AcceptStats 10.0.0.0/8
</IfModule>
Thanks,
-Alan