https://bugzilla.wikimedia.org/show_bug.cgi?id=71086

--- Comment #3 from Aaron Schulz <aschulz4...@gmail.com> ---
(In reply to Brad Jorsch from comment #2)
> But the rows there *should* be unique:
> SpecialActiveUsers::doQueryCacheUpdate() takes a lock to make sure only one
> process is updating at a time, and with the lock held it uniquifies the list
> of names to be inserted against what's already in the database.
> 
> Aaron, any ideas?

The updating method should make sure it doesn't not happen in a transaction
unless that transaction started after the lock() call. Alternatively, the query
that gets the existing names (doing <<'qcc_title' => array_keys( $names ) )>>)
could use LOCK IN SHARE MODE. 

Both of these get around any stale snapshots. The i18n staleness message could
use tweaking for the first option in case DB writes are already pending from
other stuff and the update gets deferred till post commit. The user might not
see any results if it's the first time the cache was filled.

As for the duplicates already there, I guess the cache can just be
cleared/rebuilt.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to