<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Courier;
        panose-1:2 7 3 9 2 2 5 2 4 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Times New Roman \(Body CS\)";
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:2 11 6 9 3 8 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        mso-ligatures:none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Hi, Alex,
<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">We have the same “suspension” issue when “too many failure”.  See this links.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:blue"><a href="https://www.mail-archive.com/squid-users@lists.squid-cache.org/msg22187.html">https://www.mail-archive.com/squid-users@lists.squid-cache.org/msg22187.html</a></span><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:10.5pt;font-family:Courier;color:black">>> 14:24:24 kid1| suspending ICAP service for too many failures<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:10.5pt;font-family:Courier;color:black">>> 14:24:24 kid1| essential ICAP service is suspended:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo"><o:p> </o:p></span></p>
<pre style="background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">We tried enable the</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> </span><span style="font-size:10.5pt;font-family:Courier;color:black">debug_options ALL,1 93,7<o:p></o:p></span></pre>
<pre style="background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">But have not reproduced suspensions and did not find the root cause. <o:p></o:p></span></pre>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo"><o:p> </o:p></span></p>
<pre style="background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black">Checking the source code, can we simply comment out the lines:<o:p></o:p></span></pre>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">scheduleUpdate</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">squid_curtime</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
 + </span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">TheConfig</span><span style="font-size:9.0pt;font-family:Menlo;color:black">.</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">service_revival_delay</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">announceStatusChange</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">"suspended"</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">true</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<pre style="background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black"><o:p> </o:p></span></pre>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:blue">void</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
</span><span style="font-size:9.0pt;font-family:Menlo;color:#267F99">Adaptation</span><span style="font-size:9.0pt;font-family:Menlo;color:black">::</span><span style="font-size:9.0pt;font-family:Menlo;color:#267F99">Icap</span><span style="font-size:9.0pt;font-family:Menlo;color:black">::</span><span style="font-size:9.0pt;font-family:Menlo;color:#267F99">ServiceRep</span><span style="font-size:9.0pt;font-family:Menlo;color:black">::</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">suspend</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">const</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">char</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">*</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">reason</span><span style="font-size:9.0pt;font-family:Menlo;color:black">)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#AF00DB">if</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> (</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">isSuspended</span><span style="font-size:9.0pt;font-family:Menlo;color:black">)
 {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">debugs</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#098658">93</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,</span><span style="font-size:9.0pt;font-family:Menlo;color:#098658">4</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,
</span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">"keeping suspended, also for "</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> <<
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">reason</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">    }
</span><span style="font-size:9.0pt;font-family:Menlo;color:#AF00DB">else</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">isSuspended</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> =
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">reason</span><span style="font-size:9.0pt;font-family:Menlo;color:black">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">debugs</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#098658">93</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">DBG_IMPORTANT</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,
</span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">"suspending ICAP service for "</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> <<
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">reason</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">scheduleUpdate</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">squid_curtime</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
 + </span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">TheConfig</span><span style="font-size:9.0pt;font-family:Menlo;color:black">.</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">service_revival_delay</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">announceStatusChange</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">"suspended"</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">true</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">    }<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">}<o:p></o:p></span></p>
<pre style="background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black"><o:p> </o:p></span></pre>
<pre style="background:white"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif;color:black"><o:p> </o:p></span></pre>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:blue">void</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
</span><span style="font-size:9.0pt;font-family:Menlo;color:#267F99">Adaptation</span><span style="font-size:9.0pt;font-family:Menlo;color:black">::</span><span style="font-size:9.0pt;font-family:Menlo;color:#267F99">Icap</span><span style="font-size:9.0pt;font-family:Menlo;color:black">::</span><span style="font-size:9.0pt;font-family:Menlo;color:#267F99">ServiceRep</span><span style="font-size:9.0pt;font-family:Menlo;color:black">::</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">noteFailure</span><span style="font-size:9.0pt;font-family:Menlo;color:black">()<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">const</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">int</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">failures</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> =
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">theSessionFailures</span><span style="font-size:9.0pt;font-family:Menlo;color:black">.</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">count</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#098658">1</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:blue">debugs</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#098658">93</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,</span><span style="font-size:9.0pt;font-family:Menlo;color:#098658">4</span><span style="font-size:9.0pt;font-family:Menlo;color:black">,
</span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">" failure "</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> <<
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">failures</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> <<
</span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">" out of "</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> <<<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">          
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">TheConfig</span><span style="font-size:9.0pt;font-family:Menlo;color:black">.</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">service_failure_limit</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
 << </span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">" allowed in "</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> <<<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">          
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">TheConfig</span><span style="font-size:9.0pt;font-family:Menlo;color:black">.</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">oldest_service_failure</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
 << </span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">"sec "</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> <<
</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">status</span><span style="font-size:9.0pt;font-family:Menlo;color:black">());<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#AF00DB">if</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> (</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">isSuspended</span><span style="font-size:9.0pt;font-family:Menlo;color:black">)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:#AF00DB">return</span><span style="font-size:9.0pt;font-family:Menlo;color:black">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">   
</span><span style="font-size:9.0pt;font-family:Menlo;color:#AF00DB">if</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> (</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">TheConfig</span><span style="font-size:9.0pt;font-family:Menlo;color:black">.</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">service_failure_limit</span><span style="font-size:9.0pt;font-family:Menlo;color:black">
 >= </span><span style="font-size:9.0pt;font-family:Menlo;color:#098658">0</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> &&<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">           
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">failures</span><span style="font-size:9.0pt;font-family:Menlo;color:black"> >
</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">TheConfig</span><span style="font-size:9.0pt;font-family:Menlo;color:black">.</span><span style="font-size:9.0pt;font-family:Menlo;color:#001080">service_failure_limit</span><span style="font-size:9.0pt;font-family:Menlo;color:black">)<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">       
</span><span style="font-size:9.0pt;font-family:Menlo;color:#795E26">suspend</span><span style="font-size:9.0pt;font-family:Menlo;color:black">(</span><span style="font-size:9.0pt;font-family:Menlo;color:#A31515">"too many failures"</span><span style="font-size:9.0pt;font-family:Menlo;color:black">);<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:green">    // TODO: Should bypass setting affect how much Squid tries to talk to</span><span style="font-size:9.0pt;font-family:Menlo;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:green">    // the ICAP service that is currently unusable and is likely to remain</span><span style="font-size:9.0pt;font-family:Menlo;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:green">    // so for some time? The current code says "no". Perhaps the answer</span><span style="font-size:9.0pt;font-family:Menlo;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:green">    // should be configurable.</span><span style="font-size:9.0pt;font-family:Menlo;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:13.5pt;background:white"><span style="font-size:9.0pt;font-family:Menlo;color:black">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Aptos",sans-serif">John Zhu<o:p></o:p></span></p>
</div>
</body>
</html>