An identical request to process a transaction is initiated at multiple nodes or multiple applications, and the results are committed. Subsequent to the commit, indicia regarding the outcome of the processing are compared, and the transaction is rolled back if the comparison indicates that the processing was incorrect.