On 27/04/11 23:40, Tsantilas Christos wrote:
> This patch implements the "Service Overload Handling" feature as
> described in the squid wiki page:
> http://wiki.squid-cache.org/Features/ServiceOverload
>
> This feature also exist as bug #2055 in the squid bugzilla:
> http://bugs.squid-cache.org/show_bug.cgi?id=2055
>
> More informations included in the patch preamble.
>
> Regards,
> Christos
Some relatively minor tweaks in the parse handling:
Adaptation::ServiceConfig::grokLong(
Adaptation::ServiceConfig::grokOnOverload(
Adaptation::ServiceConfig::grokBool(
- Please use DBG_CRITICAL instead of ", 0,". Or if it is not critical
bump to an appropriate alternative (parsing errors are usually
DBG_IMPORTANT).
- use "ERROR:", "FATAL:","WARNING:" as appropriate to the seriousness
of the config problem.
* For parsing problem debugs please just use "cfg_filename" instead of
"HERE << cfg_filename".
One *Major* problem:
Adaptation::Icap::ServiceRep::getConnection() is missing IP
split-stack support removed from
Adaptation::Icap::Xaction::openConnection().
On systems where IPv6 sockets can be opened but the ICAP server is
IPv4-only (MacOSX, OpenBSD, Windows, manually disabled kernels) this
will fail to connect() the socket.
You will need to preserve the ipv6=on|off option behaviour. Like so:
Ip::Address anyAddr; // default: IP6_ANY_ADDR
...
// need a new connection
if (!reuse) {
if (!Ip::EnableIpv6)
anyAddr.SetIPv4();
else if (Ip::EnableIpv6&IPV6_SPECIAL_SPLITSTACK && !cfg().ipv6)
/* split-stack for now requires default IPv4-only socket */
anyAddr.SetIPv4();
connection = comm_open(SOCK_STREAM, 0, anyAddr, COMM_NONBLOCKING,
cfg().uri.termedBuf());
}
...
NP: the failover logics in comm_openex() are for handling sockets with
tcp_outgoing_addr pre-known. *_ANY_ADDR will never fail based on family
and so will never failover.
Amos
-- Please be using Current Stable Squid 2.7.STABLE9 or 3.1.12 Beta testers wanted for 3.2.0.7 and 3.1.12.1Received on Sun May 08 2011 - 03:46:09 MDT
This archive was generated by hypermail 2.2.0 : Mon May 09 2011 - 12:00:03 MDT