From: Alex Rousskov Date: Sun, 7 Nov 2010 03:07:29 +0000 (-0600) Subject: Bug 3091 fix: Bypassed ICAP errors are not counted as service failures. X-Git-Tag: take1~98 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=61cb3565c63289af31860c1749a0e4d88a6cbfef;p=thirdparty%2Fsquid.git Bug 3091 fix: 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 8e679921f9..9fed32bb96 100644 --- a/src/adaptation/icap/ModXact.cc +++ b/src/adaptation/icap/ModXact.cc @@ -652,6 +652,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)