From: Amos Jeffries Date: Sun, 7 Nov 2010 10:04:54 +0000 (-0700) Subject: Author: Alex Rousskov X-Git-Tag: SQUID_3_1_10~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c72940a2e0862c180e764b72b76251b8a25eada9;p=thirdparty%2Fsquid.git Author: Alex Rousskov Bug 3091: Bypassed ICAP errors are not counted as service failures. Notify ICAP service about the failure even if we can bypass it. Otherwise, a failing service may continue to stay "up", preventing Squid from using a healthy backup alternative in a service_set (or bypassing ICAP completeley). --- diff --git a/src/adaptation/icap/ModXact.cc b/src/adaptation/icap/ModXact.cc index eaef7a51bb..2d5093e6c8 100644 --- a/src/adaptation/icap/ModXact.cc +++ b/src/adaptation/icap/ModXact.cc @@ -639,6 +639,8 @@ void Adaptation::Icap::ModXact::bypassFailure() if (!doneWithIo()) debugs(93, 7, HERE << "Warning: bypass failed to stop I/O" << status()); } + + service().noteFailure(); // we are bypassing, but this is still a failure } void Adaptation::Icap::ModXact::disableBypass(const char *reason, bool includingGroupBypass)