Last modified: 2011-11-29 03:21:01 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T9807, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 7807 - Some squid caches serving stale image and thumbnail versions
Some squid caches serving stale image and thumbnail versions
Status: RESOLVED FIXED
Product: Datasets
Classification: Unclassified
General/Unknown (Other open bugs)
unspecified
All All
: Normal normal with 1 vote (vote)
: ---
Assigned To: Nobody - You can work on this!
http://en.wikipedia.org/wiki/Wikipedi...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2006-11-04 23:34 UTC by Ilmari Karonen
Modified: 2011-11-29 03:21 UTC (History)
2 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Patch to includes/SquidUpdate.php (not committing this myself, since I can't test it) (649 bytes, patch)
2008-06-14 22:29 UTC, Ilmari Karonen
Details

Description Ilmari Karonen 2006-11-04 23:34:27 UTC
Some but not all of the squid caches seem to be serving stale versions of both
thumbnails and original images.  Purging or reuploading does not seem to help. 
I have personally only encountered this problem with SVG images so far, but I
expect it probably affects all images.

See for example [[Wikipedia talk:WikiProject Mathematics/Graphics#Blank thumb in
svg?]]: the image
http://upload.wikimedia.org/wikipedia/en/thumb/0/05/Paley13.svg/200px-Paley13.svg.png
shows up for me as an old, blank version, while the 201-pixel thumb shows up
just fine.  The HTTP response headers I get for the affected thumbnail are:

Connection: close
Date: Sat, 04 Nov 2006 20:12:44 GMT
Via: 1.0 sq6.pmtpa.wmnet:80 (squid/2.6.STABLE3), 1.0 sq12.wikimedia.org:80
(squid/2.6.STABLE4), 1.0 ragweed.knams.wikimedia.org:80 (squid/2.6.STABLE5), 1.0
vandale.knams.wikimedia.org:80 (squid/2.6.STABLE3)
Age: 2618
Server: lighttpd/1.4.13
Content-Length: 271
Content-Type: image/png
Client-Date: Sat, 04 Nov 2006 20:55:41 GMT
Client-Peer: 145.97.39.156:80
Client-Response-Num: 1
X-Cache: HIT from sq6.pmtpa.wmnet
X-Cache: MISS from sq12.wikimedia.org
X-Cache: HIT from ragweed.knams.wikimedia.org
X-Cache: MISS from vandale.knams.wikimedia.org
X-Cache-Lookup: HIT from sq6.pmtpa.wmnet:80
X-Cache-Lookup: MISS from sq12.wikimedia.org:80
X-Cache-Lookup: HIT from ragweed.knams.wikimedia.org:80
X-Cache-Lookup: MISS from vandale.knams.wikimedia.org:80
X-Powered-By: PHP/5.1.4

whereas the headers for the seemingly unaffected 201-pixel thumbnail are:

Connection: close
Date: Sat, 04 Nov 2006 19:59:07 GMT
Via: 1.0 sq7.pmtpa.wmnet:80 (squid/2.6.STABLE3), 1.0 sq12.wikimedia.org:80
(squid/2.6.STABLE4), 1.0 ragweed.knams.wikimedia.org:80 (squid/2.6.STABLE5)
Age: 3452
Server: lighttpd/1.4.13
Content-Type: image/png
Client-Date: Sat, 04 Nov 2006 20:55:57 GMT
Client-Peer: 145.97.39.156:80
Client-Response-Num: 1
X-Cache: HIT from sq7.pmtpa.wmnet
X-Cache: MISS from sq12.wikimedia.org
X-Cache: HIT from ragweed.knams.wikimedia.org
X-Cache-Lookup: HIT from sq7.pmtpa.wmnet:80
X-Cache-Lookup: MISS from sq12.wikimedia.org:80
X-Cache-Lookup: HIT from ragweed.knams.wikimedia.org:80
X-Powered-By: PHP/5.1.4

Of course, it's possible the both thumbs are affected, but the latter one just
happens to have been generated after the original image was fixed, and thus does
not appear blank.
Comment 1 Ilmari Karonen 2006-11-12 21:36:25 UTC
http://upload.wikimedia.org/wikipedia/en/thumb/8/8a/RobertJohson.jpg/250px-RobertJohson.jpg
is also affected, serving a thumbnail of a version that's been deleted since 15
October!  See original complaint at
http://en.wikipedia.org/wiki/Wikipedia:Village_pump_%28technical%29#Distorted_image

I've tried purging, reverting, deleting, undeleting and various combinations
thereof without results.  Manually issuing HTTP "Cache-Control: no-cache"
request headers doesn't help either.  For what it's worth, the response headers
I'm getting include:

GET
http://upload.wikimedia.org/wikipedia/en/thumb/8/8a/RobertJohson.jpg/250px-RobertJohson.jpg
--> 200 OK
Connection: close
Date: Sun, 12 Nov 2006 20:53:06 GMT
Via: 1.0 sq14.wikimedia.org:80 (squid/2.6.STABLE5), 1.0 sq13.wikimedia.org:80
(squid/2.6.STABLE5), 1.0 mayflower.knams.wikimedia.org:80 (squid/2.6.STABLE3),
1.0 ragweed.knams.wikimedia.org:80 (squid/2.6.STABLE5)
Accept-Ranges: bytes
Age: 909
ETag: "-299518909"
Server: lighttpd/1.4.13
Content-Length: 31440
Content-Type: image/jpeg
Last-Modified: Wed, 28 Jun 2006 23:25:07 GMT
Client-Date: Sun, 12 Nov 2006 21:08:16 GMT
Client-Peer: 145.97.39.156:80
Client-Response-Num: 1
X-Cache: HIT from sq14.wikimedia.org
X-Cache: MISS from sq13.wikimedia.org
X-Cache: HIT from mayflower.knams.wikimedia.org
X-Cache: MISS from ragweed.knams.wikimedia.org
X-Cache-Lookup: HIT from sq14.wikimedia.org:80
X-Cache-Lookup: MISS from sq13.wikimedia.org:80
X-Cache-Lookup: HIT from mayflower.knams.wikimedia.org:80
X-Cache-Lookup: MISS from ragweed.knams.wikimedia.org:80

with some variants including

GET
http://upload.wikimedia.org/wikipedia/en/thumb/8/8a/RobertJohson.jpg/250px-RobertJohson.jpg
--> 200 OK
Connection: close
Date: Sun, 12 Nov 2006 20:53:06 GMT
Via: 1.0 sq14.wikimedia.org:80 (squid/2.6.STABLE5), 1.0 sq13.wikimedia.org:80
(squid/2.6.STABLE5), 1.0 mayflower.knams.wikimedia.org:80 (squid/2.6.STABLE3),
1.0 vandale.knams.wikimedia.org:80 (squid/2.6.STABLE3)
Accept-Ranges: bytes
Age: 906
ETag: "-299518909"
Server: lighttpd/1.4.13
Content-Length: 31440
Content-Type: image/jpeg
Last-Modified: Wed, 28 Jun 2006 23:25:07 GMT
Client-Date: Sun, 12 Nov 2006 21:08:12 GMT
Client-Peer: 145.97.39.156:80
Client-Response-Num: 1
X-Cache: HIT from sq14.wikimedia.org
X-Cache: MISS from sq13.wikimedia.org
X-Cache: HIT from mayflower.knams.wikimedia.org
X-Cache: MISS from vandale.knams.wikimedia.org
X-Cache-Lookup: HIT from sq14.wikimedia.org:80
X-Cache-Lookup: MISS from sq13.wikimedia.org:80
X-Cache-Lookup: HIT from mayflower.knams.wikimedia.org:80
X-Cache-Lookup: MISS from vandale.knams.wikimedia.org:80

and

GET
http://upload.wikimedia.org/wikipedia/en/thumb/8/8a/RobertJohson.jpg/250px-RobertJohson.jpg
--> 200 OK
Connection: close
Date: Sun, 12 Nov 2006 20:53:06 GMT
Via: 1.0 sq14.wikimedia.org:80 (squid/2.6.STABLE5), 1.0 sq13.wikimedia.org:80
(squid/2.6.STABLE5), 1.0 mayflower.knams.wikimedia.org:80 (squid/2.6.STABLE3),
1.0 sage.knams.wikimedia.org:80 (squid/2.6.STABLE3)
Accept-Ranges: bytes
Age: 895
ETag: "-299518909"
Server: lighttpd/1.4.13
Content-Length: 31440
Content-Type: image/jpeg
Last-Modified: Wed, 28 Jun 2006 23:25:07 GMT
Client-Date: Sun, 12 Nov 2006 21:08:02 GMT
Client-Peer: 145.97.39.156:80
Client-Response-Num: 1
X-Cache: HIT from sq14.wikimedia.org
X-Cache: MISS from sq13.wikimedia.org
X-Cache: HIT from mayflower.knams.wikimedia.org
X-Cache: MISS from sage.knams.wikimedia.org
X-Cache-Lookup: HIT from sq14.wikimedia.org:80
X-Cache-Lookup: MISS from sq13.wikimedia.org:80
X-Cache-Lookup: HIT from mayflower.knams.wikimedia.org:80
X-Cache-Lookup: MISS from sage.knams.wikimedia.org:80

and

GET
http://upload.wikimedia.org/wikipedia/en/thumb/8/8a/RobertJohson.jpg/250px-RobertJohson.jpg
--> 200 OK
Connection: close
Date: Sun, 12 Nov 2006 20:53:06 GMT
Via: 1.0 sq14.wikimedia.org:80 (squid/2.6.STABLE5), 1.0 sq13.wikimedia.org:80
(squid/2.6.STABLE5), 1.0 mayflower.knams.wikimedia.org:80 (squid/2.6.STABLE3)
Accept-Ranges: bytes
Age: 518
ETag: "-299518909"
Server: lighttpd/1.4.13
Content-Length: 31440
Content-Type: image/jpeg
Last-Modified: Wed, 28 Jun 2006 23:25:07 GMT
Client-Date: Sun, 12 Nov 2006 21:01:44 GMT
Client-Peer: 145.97.39.156:80
Client-Response-Num: 1
X-Cache: HIT from sq14.wikimedia.org
X-Cache: MISS from sq13.wikimedia.org
X-Cache: HIT from mayflower.knams.wikimedia.org
X-Cache-Lookup: HIT from sq14.wikimedia.org:80
X-Cache-Lookup: MISS from sq13.wikimedia.org:80
X-Cache-Lookup: HIT from mayflower.knams.wikimedia.org:80
Comment 2 Rodney Rehm 2007-10-08 14:44:22 UTC
Hey there,

i'm not sure if I should've opened a new report, but I think your observations only prove mine:

I was having a (deeper) look at your includes/SquidUpdate.php to get a clue of how to deal with my own squids.

Here's the broken code: http://phpfi.com/267445 (relevant comments prefixed with "globe:")
Here's a simple test proving the bug: http://phpfi.com/267447

The programmer's supplying an index, where he definately shouldn't have.
$sockets[$so+1] should be $sockets[] and everything is fine :)

I've never used mediaWiki, so i've never actually run the code. But from reading (and the little test) i'd say it's not a feature ;)

It seems that the bug is in both, the branch and trunk:
http://svn.wikimedia.org/viewvc/mediawiki/branches/REL1_11/phase3/includes/SquidUpdate.php?view=markup
http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/SquidUpdate.php?view=markup


keep it up, cheers,
Rod
Comment 3 Ilmari Karonen 2008-06-14 22:29:49 UTC
Created attachment 4977 [details]
Patch to includes/SquidUpdate.php (not committing this myself, since I can't test it)

Wow, that indeed looks broken.  And it's been that way since r13845!  Here's a simple patch that should fix it; the only reason I'm not committing it myself is that I can't test it, not having any squids to purge.
Comment 4 Brion Vibber 2008-06-16 20:20:15 UTC
Change sounds reasonable -- applied on r36351.

This code path hasn't been exercised on our servers in a long long time (we'd switched to HTCP and multicast stuff long ago).

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links