The problem is described in a mailman-dev post.
http://www.mail-archive.com/mailman-developers@python.org/msg10203.html
Fix this by introducing reload mechanism in the interface to SQLAlchemy. I use session.refresh() to do this but because this function looks like to break locks, attempt is made to save the lock status and lock again after refresh.
I'm not sure this is the right way to fix the problem but it is working (for now).
database reload patch for 2.2
Logged In: YES
user_id=67709
Originator: YES
Fix in a different way by Barry, thanks.