[squid-users] assertion failed: comm.cc:178: "fd_table[conn->fd].halfClosedReader != NULL"

Amos Jeffries squid3 at treenet.co.nz
Sun May 3 05:22:45 UTC 2015


On 3/05/2015 10:59 a.m., HackXBack wrote:
> Thanks you amos for giving time,
> but about this part :
> 
> ####for looping 302 on youtube
> acl text-html rep_mime_type text/html
> acl http302 http_status 302
> 
> store_miss deny text-html
> store_miss deny http302
> send_hit deny text-html
> send_hit deny http302
> 
> i use this config with patch file to make youtube not making loop 302 and
> then videos will not open and give tv old screen with error accrued ,
> 

My comment was only about the single line:

 "store_miss deny text-html"


The oddness is thusly:


When forcing almost everything to cache you notice that many pages dont
show up right, dynamic ones dont always work right, or content is not
being updated properly when it should.

Your solution then is obviously to prevent forcing of just the text/html
parts. Is *seems* the right thing to do - but isn't.


In doing that you overlook the fact that the text/html part is what
makes the other non-HTML parts so "dynamic". Every single page load of
the text/html part may be pointing to different scripts, images, videos
etc causing the ones already in your cache to be ignored and the new
ones fetched. This is a drag on your cache now having to track N copies
of what the page *used* to look like, but those images/videos/etc may
never again be used.

What we call the "cache control" headers (date, cache-control, expires,
last-modified, etag etc) are not what makes the content dynamic, they
are just indications by the site author / server of how long the HTML
parts of the site are going to be making use of those objects. The
dynamic bit is usually the HTML and how it references things.


Store-ID gets around that a little bit by telling your cache that *you
think* certain objects are going to be used under multiple names with
some pattern regex can match _reliably_.

The *right* thing to be doing is to let sites determine their own
caching and only use the forced caching for specific sites (and if
possible specific URLs) which are found to be broken.

Amos


More information about the squid-users mailing list