Last modified: 2009-11-28 04:43:49 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 T23026, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 21026 - File/image redirects on shared repo (commons) are not followed on non-English local sites
File/image redirects on shared repo (commons) are not followed on non-English...
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
File management (Other open bugs)
unspecified
All All
: Normal major (vote)
: ---
Assigned To: Brion Vibber
http://fr.wikipedia.org/wiki/Fichier:...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-10-06 19:26 UTC by Brion Vibber
Modified: 2009-11-28 04:43 UTC (History)
1 user (show)

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


Attachments

Description Brion Vibber 2009-10-06 19:26:40 UTC
File redirects on Commons work locally and from English sites, but don't seem to be working from other languages...

Works locally:
http://commons.wikimedia.org/wiki/File:Blason_dpt_fr_HautesAlpes.svg

Works remotely on English:
http://en.wikipedia.org/wiki/File:Blason_dpt_fr_HautesAlpes.svg
http://en.wikinews.org/wiki/File:Blason_dpt_fr_HautesAlpes.svg

Fails, showing empty page:
http://fr.wikipedia.org/wiki/Fichier:Blason_dpt_fr_HautesAlpes.svg
http://fr.wikinews.org/wiki/Fichier:Blason_dpt_fr_HautesAlpes.svg
http://de.wikipedia.org/wiki/Datei:Blason_dpt_fr_HautesAlpes.svg
http://de.wikinews.org/wiki/Datei:Blason_dpt_fr_HautesAlpes.svg

Offhand I'm guessing something's using the local namespace name in a cache or DB lookup, which naturally enough fails when it's difference from what Commons is storing (the English master name).
Comment 1 Brion Vibber 2009-10-06 19:39:21 UTC
Think I've found it; setting up a local test to confirm fix before I commit.
Comment 2 Brion Vibber 2009-10-06 20:13:51 UTC
Ok confirmed steps to reproduce:

* Set up shared repo wiki w/ English
* Set up client wiki w/ French (or other language with non-default 'File:' namespace) using it via ForeignDBRepo, with 'hasSharedCache' on
* Configure both to use memcached
* Upload some file to shared repo, say 'Redirect test target.png'
* Access a so far non-existent file 'Redirect test source.png' *from the client site*
* Create a redirect *on the shared repo* from 'File:Redirect test source.png' to 'File:Redirect test target.png'
* Attempt to access 'Redirect test source.png' again from both wikis

Expected result:
* Functional redirect on English master site
* Functional redirect on French client site

Actual result:
* Functional redirect on English master site
* Missing redirect on French client site, as though the site never exists

The two wikis are caching their redirect lookups under separate keys because the key includes the local namespace name. When the English wiki updates its records for the creation of the redirect, it thus isn't able to clear the negative-lookup record the French wiki cached previously. Until the cache record expires, it won't attempt to look up the redirect in the database again.

Comment 3 Brion Vibber 2009-10-06 20:24:01 UTC
Fixed in r57434.
Comment 4 Brion Vibber 2009-10-06 20:29:10 UTC
Fix deployed live.

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


Navigation
Links