don't retry a failed server

Alex Krohn <[email protected]> Fri, 14 May 2004 11:43:46 -0700
Newsgroups gmane.comp.apache.mod-backhand.general
Message-ID <[email protected]>
Hi,

I have a bit of a problem. If backhand sends a request to a server, and
the request fails, backhand tries to resend the request, but I can't
seem to get it to exclude the failed server.=20

Here's an example:

[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byAge(NULL)] =
(3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 0 1 2 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byBusyChildre=
n(NULL)] (3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 0 1 2 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byRandom(NULL=
)] (3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 1 0 2 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byLoad(NULL)]=
 (3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 0 2 1 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [removeSelf(NU=
LL)] (3 -> 2)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 2 1 ]
[Fri May 14 22:20:47 2004] [notice] All funcs executed -> web2
=2E.snip
[Fri May 14 22:20:47 2004] [error] mod_backhand: Tried... failed
=2E.snip
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byAge(NULL)] =
(3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 0 1 2 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byBusyChildre=
n(NULL)] (3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 0 1 2 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byRandom(NULL=
)] (3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 0 1 2 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [byLoad(NULL)]=
 (3 -> 3)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 0 2 1 ]
[Fri May 14 22:20:47 2004] [notice] Func executed for (null) [removeSelf(NU=
LL)] (3 -> 2)
[Fri May 14 22:20:47 2004] [notice] New server list: [ 2 1 ]
[Fri May 14 22:20:47 2004] [notice] All funcs executed -> web2

My conf looks like:

        Backhand byAge
        BackHand byBusyChildren
        BackHand byRandom
        BackHand byLoad
        BackHand removeSelf

(removeSelf as the main server only distributes requests to one of several =
mod_perl servers).

I was playing with byRandom, and by putting it last, backhand will probably=
=20
try a different server if the first one fails, but then you lose the=20
distributing by load.

Any ideas?

Cheers,

Alex

--
Alex Krohn <[email protected]>