[prev in list] [next in list] [prev in thread] [next in thread] 

List:       backhand-users
Subject:    Re: [m_b_users] don't retry a failed server
From:       Alex Krohn <alex () gossamer-threads ! com>
Date:       2004-05-14 20:42:31
Message-ID: 20040514131922.FF22.ALEX () gossamer-threads ! com
[Download RAW message or body]

Hi Theo,

> >I'm forcing web2 to fail, by restarting the mod_perl server, and hitting
> >the cluster while the mod_perl server is restarting. Due to the amount
> >of code that is preloaded, and database connections setup, a mod_perl restart
> >takes about 10 seconds. 
> >
> >I'm trying to make it so that I can restart all the mod_perl servers in
> >serial, without the user seeing anything (so if they happen to be sent
> >to a server that just got restarted, they will get sent to a new one).
> >  
> >
> That is a valid problem.  Ideally, there would be a maturity setting in 
> the front end servers -- telling it when they mature.  Also a "failure" 
> setting, but that i a bit dangerous as overloaded servers can fail once 
> and succeed on an immediate reattempt. (which is why the code works as 
> it does)...
> 
> Like any good system, there is a hack workaround.
> 
> block mod_backhand's outbound UDP traffic from your box until mod_perl 
> starts up completely.
> 
> Assuming you are running on FreeBSD and running MulticastStats as 
> 225.2.3.4:4445,1
> 
> ipfw add 00010 deny udp from any to any 4445 out
> Wait 5 seconds (or whatever your byAge timeout is...
> shutdown...
> update code...
> restart...
> wait 'til restart is complete.
> ipfw delete 00010
> 
> Something like this can be accomplished on Linux to with ipchains or 
> iptables.

Thanks, works great! For anyone else, you can do this with iptables
using:

iptables -A OUTPUT -p udp --sport 4445 -j REJECT
sleep 5
restart mod_perl
iptables -D OUTPUT -p udp --sport 4445 -j REJECT

Cheers,

Alex
--
Alex Krohn <alex@gossamer-threads.com>

_______________________________________________
backhand-users mailing list
backhand-users@lists.backhand.org
http://lists.backhand.org/mailman/listinfo/backhand-users
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic