[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#499379: Further investigation - I blame Squid



richard@araminta:~$ HEAD http://security.debian.org/dists/lenny/updates/Release
200 OK
Connection: close
Date: Fri, 08 May 2009 15:11:34 GMT
Accept-Ranges: bytes
ETag: "9f43-46956dde94980"
Server: Apache/2.2.9 (Debian)
Content-Length: 40771
Content-Type: text/plain
Last-Modified: Thu, 07 May 2009 18:41:58 GMT
Client-Date: Fri, 08 May 2009 15:11:34 GMT
Client-Peer: 128.31.0.36:80
Client-Response-Num: 1

Note that the last modified date is reported as the 7th of May.  This
is via my Squid but the answer is the same direct.

This is output from stracing squid (with some newlines inserted for
readability):

7108  read(13,
"GET http://security.debian.org/dists/lenny/updates/Release HTTP/1.1\r\n
Host: security.debian.org\r\n
Cache-Control: max-age=0\r\n
If-Modified-Since: Fri, 01 May 2009 14:36:17 GMT\r\n
User-Agent: Debian APT-HTTP/1.3 (0.7.20.2)\r\n\r\n"..., 3899) = 218

This is the request from 'apt-get update'.  It wants to know if the
Release file has changed since the 1st of May.  As we know from the
above, it has.

7108  write(16, "GET /dists/lenny/updates/Release HTTP/1.0\r\n
If-Modified-Since: Thu, 07 May 2009 18:41:58 GMT\r\n
Host: security.debian.org\r\n
User-Agent: Debian APT-HTTP/1.3 (0.7.20.2)\r\n
Via: 1.1 araminta.anjou.terraraq.org.uk (squid/3.0.STABLE8)\r\n
X-Forwarded-For: 172.17.207.18\r\n
Cache-Control: max-age=0\r\n
Connection: keep-alive\r\n
\r\n"..., 309) = 309

This is Squid forwarding the request to security.debian.org.
Elsewhere in the trace I see fd 16 connecting to 149.20.20.6 (an s.d.o
host).

However, look closely: it has changed the If-Modified-Since header to
reflect late Thursday.  Not entirely unreasonable; if there has been a
change since the 7th it needs the new data, otherwise it could respond
with the old data to its client.

7108  read(16, "HTTP/1.1 304 Not Modified\r\n
Date: Fri, 08 May 2009 14:44:51 GMT\r\n
Server: Apache/2.2.9 (Debian)\r\n
Connection: Keep-Alive\r\n
Keep-Alive: timeout=15, max=91\r\n
ETag: \"9f43-46956dde94980\"\r\n
\r\n"..., 4094) = 181

The s.d.o mirror says it hasn't changed since the 7th.  That's fair
enough, it hasn't.

7108  write(13, "HTTP/1.0 304 Not Modified\r\n
Date: Fri, 08 May 2009 14:44:51 GMT\r\n
Server: Apache/2.2.9 (Debian)\r\n
ETag: \"9f43-46956dde94980\"\r\n
X-Cache: HIT from araminta.anjou.terraraq.org.uk\r\n
X-Cache-Lookup: HIT from araminta.anjou.terraraq.org.uk:3128\r\n
Via: 1.0 araminta.anjou.terraraq.org.uk (squid/3.0.STABLE8)\r\n
Proxy-Connection: close\r\n
\r\n"..., 323) = 323

Squid tells the client it hasn't changed _since the 1st of May_.  This
is a fib.


ii  apt            0.7.20.2+lenny Advanced front-end for dpkg
ii squid3 3.0.STABLE8-3 A full featured Web Proxy cache (HTTP proxy)


So should I reassign this to squid3 or raise a separate bug?

ttfn/rjk



Reply to: