BTW. I think this method should also have a session lock acquire() and release().