
What does “critical” mean? And how is it that the number of critical Launchpad bugs has leapt up to almost 300?
Until January, we reserved the critical importance for near-disastrous issues such as data loss; stuff that just about never happens.
This was fine except that it didn’t fully reflect what we in the Launchpad team consider to be really important. So now we also use critical for bugs where:
- there’s a crash: you see one of Launchpad’s oops reports and can’t do what you wanted
- a timeout occurs: Launchpad takes so long to do what you asked that our timeout system kicks in to prevent rogue requests from sapping resources
- a supported browser can’t run Launchpad’s Javascript
- there’s a regression: we accidentally break an existing feature.
The principle here is: just as Launchpad should never lose your data, nor should it stop you from doing something because of poor engineering.
So, our critical bug count has shot up to around 270 because we’ve expanded what we consider to be critical.
Another reason is that we’re getting tougher on timeouts. Obviously we don’t want Launchpad pages to be so slow that they time out.
So, over the past nine months we’ve repeatedly lowered our timeout limit, meaning that we uncover more and more slow-loading pages. Each time a new page hits the timeout limit, we report a new critical bug and work to fix it. We don’t lower the timeout again until we have the failure rate below 0.01% of requests.
Our aim is to have zero critical bugs at any time. Once we get there, Launchpad will have no oopses and no timeouts. People are already talking about how Launchpad is faster to use and that’s largely thanks to the performance effort that our Technical Architect, Rob Collins, has been driving. There’ll be more about this performance work in coming blog posts.
If there’s a down-side to this focus on critical bugs it’s this: the bug that’s important to you may not get fixed as quickly as you’d like. This isn’t because we don’t consider such bugs important but because we’ve decided that the most important bugs are those that stop you dead in your tracks.
If you’re interested in following the performance effort, or the work to tackle these critical bugs, join the launchpad-dev mailing list.
Thanks to Rob Collins for his help with this post.
Photo by Brian Searle. Licence: CC-BY.