<div dir="ltr">Hello.<div><br></div><div>We have an issue with squid when it tries to re-forward / retry failed request even when forward_max_tries is set to 1. The situation when it happens is when there's no response, parent just closes the connection.</div><div><br></div><div><div>Relevant parts of configuration so you understand the architecture:</div><div><br></div><div>cache_peer 127.0.0.1 parent 18070 0 no-query no-digest no-netdb-exchange name=proxy</div><div>never_direct allow all</div><div>negative_ttl 0 seconds</div><div>forward_max_tries 1</div><div>retry_on_error off</div></div><div><br></div><div>The traffic flow from tcpdump is like this:</div><div><br></div><div><div>squid to parent</div><div>GET <a href="http://HOST/">http://HOST/</a></div><div>parent to squid</div><div>ACK</div><div><br></div><div>waiting (no response for ~40 seconds)</div><div><br></div><div>parent to squid</div><div>FIN, ACK</div><div>squid to parent</div><div>FIN, ACK</div><div>parent to squid</div><div>FIN</div><div><br></div><div>Immediately after that:</div><div><br></div><div>squid to parent</div><div>GET <a href="http://HOST/">http://HOST/</a> (again)</div></div><div><br></div><div>Debug logs from ALL,2:</div><div><br></div><div><div><div>…</div><div>http.cc(2229) sendRequest: HTTP Server local=<a href="http://127.0.0.2:46867">127.0.0.2:46867</a> remote=<a href="http://127.0.0.1:18070">127.0.0.1:18070</a> FD 26 flags=1</div><div>http.cc(2230) sendRequest: HTTP Server REQUEST:</div><div>---------</div><div>GET <a href="http://HOST:12345/">http://HOST:12345/</a> HTTP/1.1</div><div>…</div><div>http.cc(1299) continueAfterParsingHeader: WARNING: HTTP: Invalid Response: No object data received for <a href="http://HOST:12345/">http://HOST:12345/</a> AKA HOST/</div><div>FwdState.cc(655) handleUnregisteredServerEnd: self=0x430a438*2 err=0x445fcf8 <a href="http://HOST:12345/">http://HOST:12345/</a></div><div>http.cc(2229) sendRequest: HTTP Server local=<a href="http://127.0.0.2:34417">127.0.0.2:34417</a> remote=<a href="http://127.0.0.1:18070">127.0.0.1:18070</a> FD 26 flags=1</div><div>http.cc(2230) sendRequest: HTTP Server REQUEST:</div><div>---------</div><div>GET <a href="http://HOST:12345/">http://HOST:12345/</a> HTTP/1.1</div><div>…</div></div></div><div><br></div><div>It doesn't happen 100% times. Sometimes squid returns 502 after the 1st try, sometimes it retries once. Also I haven't seen more than 1 retry.</div><div><br></div><div>Could it be a bug? We'd really like to disable these retries.</div><div><br></div><div><div>Squid Cache: Version 3.5.27</div><div>Service Name: squid</div><div>configure options:  '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/sbin' '--sbindir=/usr/sbin' '--sysconfdir=/etc/squid' '--libdir=/usr/lib' '--libexecdir=/usr/lib/squid' '--includedir=/usr/include' '--datadir=/usr/share' '--sharedstatedir=/usr/com' '--localstatedir=/var' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--enable-epoll' '--enable-removal-policies=heap,lru' '--enable-storeio=aufs,rock' '--enable-delay-pools' '--with-pthreads' '--enable-cache-digests' '--with-large-files' '--with-maxfd=16384' '--enable-htcp'</div></div><div><div><br></div>-- <br><div class="gmail_signature">With best regards, Ivan Larionov.</div>
</div></div>