Are you using InnoDB?
This sounds like a MyISAM issue.
MyISAM does table level locking. InnoDB does row locking. So a transaction should not hang in InnoDB unless two processes are attempting to modify the same record, whereas it can happen in MyISAM if two processes are trying to modify the same table.
Jan Steinman EcoReality Co-op, http://www.EcoReality.org 2152 Fulford-Ganges Road Salt Spring Island, BC V8K 1Z7 CANADA +1 250.653.2024
mediawiki-l@lists.wikimedia.org