Change how a disconnect in mid-transaction is handled. Rather than
trying to fake a tpc_abort() call with the right transaction id, call a new method abort(), which resets some instance variables and then calls the strategy's abort() method. The immediate strategy's abort() aborts its own transaction and then calls the zeo_storage's handle_waiting() method to restart the next blocked transaction from the _waiting list; the delayed strategy's abort() removes the zeo_storage from the _waiting list.
Showing
Please register or sign in to comment