For systems without a commit/rollback mechanism available, one can undo a failed transaction with a Compensating Transaction, which will bring the system back to its initial state. Typically, this is only a workaround which has to be implemented manually and cannot guarantee that the system always ends in a consistent state. The system designer may need to consider what happens if the compensating transaction also fails.

PropertyValue
dbpprop:abstract
  • For systems without a commit/rollback mechanism available, one can undo a failed transaction with a Compensating Transaction, which will bring the system back to its initial state. Typically, this is only a workaround which has to be implemented manually and cannot guarantee that the system always ends in a consistent state. The system designer may need to consider what happens if the compensating transaction also fails. Compensating Transactions are also used in case where a transaction is long lived, for instance in a business process requiring user input. In such cases data will be committed to permanent storage, but may subsequently need to be rolled back, perhaps due to the user opting to undo an operation. Unlike conventional rollbacks, specific business logic will typically be required to rollback a long lived transaction and restore the system to its original state. This type of transaction differs from Two-Phase-Commit, because although both types of transactions can result in multiple data stores being updated, Compensating Transactions allows for the updates to span a large period of time.
dbpprop:hasPhotoCollection
rdfs:comment
  • For systems without a commit/rollback mechanism available, one can undo a failed transaction with a Compensating Transaction, which will bring the system back to its initial state. Typically, this is only a workaround which has to be implemented manually and cannot guarantee that the system always ends in a consistent state. The system designer may need to consider what happens if the compensating transaction also fails.
rdfs:label
  • Compensating transaction
owl:sameAs
skos:subject
foaf:page