What could be happening here is that the parent coordinator has either rolled back, is rolling back, or has been marked for rollback_only. In which case, the subordinate coordinator cannot enlist and throws an exception. If you have created your transactions with timeouts, try increasing the timeout value.