Last modified: 2012-12-19 15:14:18 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 T44761, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 42761 - wbgetentities and wbsetsitelink return empty target URLs for site links.
wbgetentities and wbsetsitelink return empty target URLs for site links.
Status: VERIFIED FIXED
Product: MediaWiki extensions
Classification: Unclassified
WikidataRepo (Other open bugs)
unspecified
All All
: Normal normal (vote)
: ---
Assigned To: Wikidata bugs
:
Depends on: 43022
Blocks:
  Show dependency treegraph
 
Reported: 2012-12-06 03:03 UTC by jeblad
Modified: 2012-12-19 15:14 UTC (History)
6 users (show)

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


Attachments

Description jeblad 2012-12-06 03:03:06 UTC
One of the modes for wbgetentities and wbsetsitelink is to report the sitelinks urls (http://www.wikidata.org/w/api.php?action=wbgetentities&ids=q42&props=sitelinks/urls). This mode will now return empty strings. This did work some days ago so something has changed that creates this failure. It is also visible in current master.
Comment 1 jeblad 2012-12-06 05:31:50 UTC
After tracing whats going on I found that SiteLink::getSite gives a SiteObject instead of MediawikiSite. Otherwise it seems like the rest of the code does what it is supposed to do.
Comment 2 Daniel Kinzler 2012-12-06 11:49:46 UTC
We now have a test case for detecting this:

Change I3cefa7dd: (bug 42761) make PHPUnit test aware of empty sitelinks

It seems to only happen on some installations though. Can't reproduce it locally, but also see it on wikidata-dev-repo.wikimedia.de
Comment 3 jeblad 2012-12-07 11:19:17 UTC
It seems to me that after populating the tables the mediawiki sites are
correctly tagged as "mediawiki" and the necessary URLs are there. (The domain
in field site_domain seems weird.) During write the object is the subclass
MediaWikiSite. During read out the object is the parent class SiteObject and
stays that, rendering URLs unaccessible.
Comment 4 jeblad 2012-12-12 14:38:05 UTC
This turns out to be a core issue in how sites are using memcache. Jeroen is working on a fix.
Comment 5 Andre Klapper 2012-12-12 16:59:57 UTC
Abraham: So how did this get fixed? Closing without any references or Gerrit ID is quite intransparent :-/
Comment 6 jeblad 2012-12-12 17:36:27 UTC
Problem is described in bug 43022 - SitesArray needs proper serialization
Comment 7 Daniel Kinzler 2012-12-12 17:50:59 UTC
I think i added to the confusion here. To re-iterate: we found the issue now (see bug 43022), but it's not yet fixed in master. It's actually a core bug.
Comment 8 Daniel Kinzler 2012-12-14 09:34:43 UTC
SiteArray's serialization was broken, causing it to come up empty when trying to deserialize. So, whenever the Sites list was taken from Memcached, it would be empty. This change fixes that problem:

Change I9844236b: Fixed SiteArray serialization

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


Navigation
Links