Last night I found and fixed a bug in the new persistent link cache code which seriously broke updates to the link tables; when the persistent cache was loaded, the 'old' links variables weren't being set at all, so every link in the page would be added as a duplicate to the database, and newly removed links would not get cleared. On top of this the linkscc entry wasn't cleared due to a missing global declaration. Oh, those annoying little tiny things!
Anyway, we've still got a whole bunch of _old_ link table bugs to deal with, as well as having monstrously corrupt tables to start with. E23's working on speeding up the link rebuild script, which is great -- soon we hopefully will be able to clean up the tables without taking the wikis offline for half a day just to do it.
We really should scrutinize the persistent linkcache stuff a little more, since synchronization errors between the cache and the regular links tables can cause fun trouble that's hard to track down. (Particularly as the data blob in linkscc is gzipped to minimize io/cache stress; this makes it very hard to inspect it manually.)
Anyway, a number of reported link-table bugs have been consolidated into bug #802814: http://sourceforge.net/tracker/index.php? func=detail&aid=802814&group_id=34373&atid=411192
Bad link tables are mostly just a nuisance at present, but they do interfere with a lot of things.
-- brion vibber (brion @ pobox.com)
Found the bug that was breaking imagelinks, that should be solved now... (missing DB_WRITE in a wfQuery() call in Title::invalidateCache(), so it threw an error and died before inserting the links.)
-- brion vibber (brion @ pobox.com)
wikitech-l@lists.wikimedia.org