Fixed in a slightly different way. I moved the assignment of self.transaction to the end of tpc_begin. The important invariant is that the client and server agree on whether TPC has started. A failure after in tpc_begin after the server enters TPC violates this.
Fixed in a slightly different way. I moved the assignment of self.transaction to the end of tpc_begin. The important invariant is that the client and server agree on whether TPC has started. A failure after in tpc_begin after the server enters TPC violates this.