Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

Restarting DTX Transactions

What happens if a DTX:

  • enqueues non-persistent messages.
  • enqueues to non-durable queues.
  • dequeues from non-durable queues.
  • dequeues non-persistent messages.

Consistent semantics: outcome is equivalent to transaction comitting before restart.

  • Non-durable enqueues are dropped without error.
  • Durable enqueues take effect.
    This is equivalent to the transaction comitting before restart, and non-durable messages
    being lost in restart.

...

On restart, prepared DTX transactions may commit or rollback. In either case the outcome is as if the transaction had comitted or rolled back just before the restart: All durable transaction effects survive the restart, all non-durable effects are lost.

In particular

  • On commit: non durable messages enqueued in the transaction are lost, as if they had been enqueued before the restart and were lost in the restart.
  • On rollback: non durable messages dequeued in the transaction are lost, as if they had been put back on the queue before restart and then lost in the restart.