The Bugzilla version on GNOME Bugzilla does table locking, which makes Bugzilla appear to hang for long periods. There are a few solutions to that:
- Port GNOME Bugzilla to latest CVS version (mostly uses InnoDB and transactions)
- Setup a ‘shadow’ database (master/slave replication)
- Optimizing the queries
- Killing the long running queries
The fastest way was option #4. See viewvc for the patch. It needs Sys::SigAction and works basically like the example code in that module. This means that queries running longer than 60 seconds will be killed (the buglist.cgi ones).
Before the switch to SVN loads of very very old modules (5+ years without a commit) have been moved to the CVS archive. After that, Thomas H.P. Andersen and Andre Klapper have been looking through the rest of the list (600+ modules) to determine which modules could also be archived. They’ve contacted the maintainers to get their agreement. This wasn’t easy as the maintainer couldn’t always be determined and a lot of the email addresses bounced. Following this, the remaining list of modules have been moved to the SVN archive (at svn-archive.gnome.org). Please read the blog posting by Thomas or the announcement mail for more information.
Anoncvs (shows commits up to 31 Dec 2006) should work again thanks to Owen. Someone actually needed to use it. However, I plan to disable the whole CVS stuff soon, starting with the web interface. Not worth the maintenance and security risk.