withTransacion should not take a session