you want to preserve the audit trail even if the transaction fails. For transactional queues (where queue writes should be atomic with other operations), the TDQ should be recoverable.