Last modified: 2013-07-25 07:04:55 UTC
Since c3e39d2b6d5f6895389bd9acb38c4dfa6b243890 in core, RedisCategorySync does not work because the category updates (onCategoryAfterPageAdded/onCategoryAfterPageRemoved) (can) run *after* onLinksUpdateComplete. The change was to improve performance by moving updateCategoryCounts to the end of the transaction.
I see two options:
1. No longer batch the adds and removes. This may not be okay if Redis is fast enough.
2. Find another hook for batching that is guaranteed to be late enough. There isn't an obvious good choice here, but I looked briefly.
Sorry, I meant "This may be okay if Redis is fast enough".
Good catch and good report. I'll only have time to look at this tomorrow, which I'll do unless you beat me to it. In the meantime, I'll do a single manual refresh of the categories to ensure they are not wildly out-of-sync with the database.
Just to confirm: after checking out Special:GettingStarted live on the site and refresh a dozen+ times, I'm not seeing any major regression in terms of missing or repeated list items (yet).
I manually synchronized a little over an hour ago, at 22:05 UTC.
Related URL: https://gerrit.wikimedia.org/r/60233 (Gerrit Change Ib073661c267cbabbe2ab2245224afd12b8784fca)
Steven, the core change is not deployed to any WMF sites yet (not even in a deployment branch). So we have some time to fix it.
(In reply to comment #6)
> Steven, the core change is not deployed to any WMF sites yet (not even in a
> deployment branch). So we have some time to fix it.
Gah. The bug title could have made that more explicit.
The change is on 1.22wmf2 sites, though not wmf1 sites.
(In reply to comment #8)
> The change is on 1.22wmf2 sites, though not wmf1 sites.
Which means it will be on enwiki tomorrow after the 11AM-1PM deploy, which is where RedisCategorySync is being exposed to users.
https://gerrit.wikimedia.org/r/60233 (Gerrit Change Ib073661c267cbabbe2ab2245224afd12b8784fca) | change APPROVED and MERGED [by jenkins-bot]