Hello,
I have made a mistake Saturday evening (around 18:30 UTC) which broke some SUL-related functions. The issue was fixed by Apergos about 1 hour later while I was out of home.
Here is the report:
I tried to create the Esperanto wikisource (bug 26136 [1]) by following our guide on wikitech [[add a wiki]] [2]. I ran addwiki.php with the following invocation:
$ php addwiki.php eo wikisource eowikisource eo.wikisource.org
This complained about eowikisource not existing in wgLanguageName, most probably because the first two arguments are eaten by the Maintenance class or something like that.
Re checking our guide, it says: You need to put in --wiki=aawiki after the addwiki.php and before the langcode for now. Script is wonky.
I thought aawiki was a place-holder for the wiki database name and ran:
$ php addwiki.php --wiki eowikisource eo wikisource \ eowikisource eo.wikisource.org
That triggers a database error saying the database "eowikisource" does not exist, which is the intended result.
I then edited the all.dblist and pmtpa.dblist to manually add eowikisource and ran sync-dblist. At this point, SUL was broken but I did not know about it :-( Please note those additions are normally handled by the addwiki.php script.
Root cause: Addition of a non existent database name.
Impact: Any script / functions querying all databases and expecting them to exist without error checking.
How it got fixed: Apergos removed the eowikisource from the dblists and synced the list.
How it could have been avoided: I should have reverted my change in the dblist. That would have fixed the issue. I should have stayed idling in IRC for sometime after my change. I was not reachable since my contact-details were a bit old. I have updated our local file with mobile and home phone.
Real solution: Run, as instructed in the guide, addwiki.php --wiki aawiki [...]
TODO: - really create eowikisource - Investigate potential damages (ex bug 26877 [3]) - properly handle non existing database in functions / scripts - fix addwiki.php in 1.6wmf4 - review the [[Add a wiki]] article
I hope this report clarify the issue and would like to thanks Apergos, JeLuF and RobH for their kind words on IRC on Sunday morning, it is always appreciated when you are ashamed by such a stupid mistake.
[1] https://bugzilla.wikimedia.org/26136 [2] http://wikitech.wikimedia.org/view/Add_a_wiki [3] https://bugzilla.wikimedia.org/26877
Ashar Voultoiz wrote:
Hello,
I have made a mistake Saturday evening (around 18:30 UTC) which broke some SUL-related functions. The issue was fixed by Apergos about 1 hour later while I was out of home.
Don't worry more about it, Ashar.
I think the need for --wiki aawiki is fixed in r80837 ($wgNoDBParam sets aawiki internally).
sync-dblist should have verified that all the listed dbs existed (somewhere) before syncing them.
2011/1/24 Platonides Platonides@gmail.com:
sync-dblist should have verified that all the listed dbs existed (somewhere) before syncing them.
That's probably a good idea. I synced all.dblist with an extra newline (i.e. empty line at the end of the file) once, which caused SUL to look for the empty string as a DB name.
I've filed an RT ticket for this (#550).
Roan Kattouw (Catrope)
wikitech-l@lists.wikimedia.org