All posts by Lewis Cawte

1.20 MediaWiki Upgrade

A few days ago, I announced on Facebook that I was working on upgrading ShoutWiki to the newest MediaWiki version, 1.20. For those who don’t know, MediaWiki is the base web application that ShoutWiki is based off, along with Wikipedia, Wikia and many other sites out there on the world wide web. This wasn’t necessary a planned rollout, we just knew that we wanted to get this new version out as soon as possible, already being delayed by real life factors influencing the availability of the staff needed to make this happen. This is why it was not announced here, as the days proceeding the unavailability of our staff were spent on this upgrade.

When I was happy with the upgraded copy, and a new tool or two we put in place internally to smoothen out the upgrade process, I updated the production copy of ShoutWiki, putting the wikis into “Maintenance mode” while the databases upgraded. In theory – and next time, this should be a fairly painless procedure with no more downtime than necessary and no left over bugs to cleanup. This time, that wasn’t the case. We had a series of bugs, some through human error, one or two caused by upstream factors. These bugs and a log of actions are detailed below:

Saturday 17th November, 21:41UTC – Wikis brought back out of maintenance mode. A problem was quickly spotted with captchas not working causing many edits to fail. Another issue with adverts not showing in Vector and Monobook was also discovered, as well as a few smaller non fatal errors leaving messages in our error logs.
Saturday 17th November, 22:10UTC – Adverts in Monobook are fixed.
Saturday 17th November, 22:17UTC – Vector adverts fixed.
Saturday 17th November, 22:41UTC – ConfirmEdit, the extension we use for Captchas is rolled back to an earlier version. We believe this may have been causing us problems because of an incompatible version of the extension being branched for 1.20, however this could be a new feature that is incompatible with some of our systems. We are currently reviewing this breakage to find the root cause and stop this happening again.
Sunday 18th November, 20:33UTC – I am alerted to an error in a wiki on ShoutWiki missing part of its database. Upgrade script is run to correct problem on all wikis in attempt to fix any wikis globally affected by this problem.
Tuesday 20th November 2011, 20:14UTC – After having another report of the same problem from Sunday, the team discovers the problem, rooting from an outdated copy of tables SQL being used to create new wikis. Updated copy of tables deployed and all wikis fixed by script.
Tuesday 20th November 2011, 23:20UTC (approx) – Alerted to error on new wiki creation. Database error.
Wednesday 21st November 2011, 16:17UTC – Team identify problem of additional unneeded tables in the SQL file causing MySQL to throw errors. This is patched fixing problems and allowing new wikis to be created again.

We believe this is everything fixed now. We thank everyone for their patience through this time and if you have any more problems please contact us through the usual channels.
This is the first update that I’ve managed on done through this message, the second or third in total I have managed while here. Through the course of this upgrade, we have learnt a few things and increased our knowledge and toolset to allow us to perform future upgrades with more efficiency and speed and in future releases we should have less bugs while completing this process.

— Lewis Cawte
Chief Technical Officer, ShoutWiki.

Wiki Reimports

This is a copy of an email I sent out to all users that our database listed as people that had used Special:CreateWiki to found a wiki.

Dear ShoutWiki user,

I am writing to you because our database tells us that you have at some point in the past, created a wiki on through the CreateWiki interface. As some of you may be aware, there have been a number of human created issues involving the ShoutWiki site over the period of the last few years. Firstly, I wish to apologize for those issues caused by my predecessors.

Secondly, as you may know, we’re in the process of getting the site back online. Currently there are around 20 databases on the server, instead of the 500 which the master database believes we have. According to my latest predecessor, we have a backup of all contents of the previous server, wail. The point of this e-mail is simple, I would like to know how many of you have wikis, and which of those that you would like to imported to the new server. I will warn you first however, that these contents may be out of date, there are contents of 300-odd wikis at that I can attempt to reimport if its significantly newer than the database import.

I also apologise for any of you recieving this e-mail multiple times, as this is taken directly from the CreateWiki creation log database, and I am rushing to get this important e-mail to you. We will be working on fine tuning these “mailing lists” in future, including removing anyone that requested a wiki to be deleted, as you may still be getting this e-mail currently.

Thank you for your support,
— Lewis Cawte
Chief Technical Officer, ShoutWiki

There is no time limit on these imports, however we are building a list, and these will be done in order of response and we cannot guarantee any imports will be complete, up to date or the quality of the import, however we will try our hardest to reduce repeated edits, stress and broken wikis again, as that’s the last thing we believe our users deserve.