It is legit to commit a suspended TX. This is actually what JBoss does. end(xid, TMSUSPENDED), then commit-one-phase, prepare, or resume.