I've switched test.wikipedia.org to use InnoDB tables (the ones with row-level locking and transactions). This requires breaking the columns for the search index out to a separate table, since the fulltext index is only supported on MyISAM tables. I've set up an 'innodb' branch in the cvs which contains these changes.
Please check it out; there are probably some cases remaining where consistency isn't maintained.
Once that's all running smoothly, we can worry about things like commit/rollback. (There are probably all kinds of fun race conditions in the various updates that are made on separate tables during page creation, edit, and renaming, which we currently have no protection for.)
-- brion vibber (brion @ pobox.com)
wikitech-l@lists.wikimedia.org