Last modified: 2013-06-11 18:30:05 UTC
When someone adds or removes a category from a page, the relevant category page changes. And when someone adds or removes an image from a page, the relevant image description page changes, due to the list of file links. Cache updates for these changes are handled by LinksUpdate::invalidatePages(). However, this function does not update the HTML file cache (i.e. $wgUseFileCache=true), and it does not purge Squid. Thus, anonymous users see the old versions of categories and image description pages after an edit is made. The fix is made more complicated by the fact that neither of these updates should be done in the same transaction as the main link update. The link update transaction locks a lot of rows, and needs to be closed off as soon as possible.
Weren't LinksUpdate done in the DeferredUpdates?
(In reply to comment #1) > Weren't LinksUpdate done in the DeferredUpdates? No, and it wouldn't help if they were. DeferredUpdates is mostly useless, I've migrated most callers away from it. I don't know why Chad bothered to work on it in 1.19.
I'm running MediaWiki 1.19.0 and I have the exact problem. My main page doesn't change too, but that kinda makes sense because it doesn't get edited, the changes are just made through template rotation. I'm gonna add a shell script (which deletes the category files and the main page from the file cache) to crontab.