Transactions in E

Bill Frantz
Tue, 13 Oct 1998 23:53:25 -0800

If I were faced today with the need to implement transactions in E, I would
first look at the compare and swap model.  A transaction might look
something like this.

(1) Send one or more E messages to get the state of the world.

(2) When the responses come in, send a message of the form, "If the state
variable1 is A, and variable2 is B, ..., then set variableAlpha to ...,
variableBeta to ... etc.  The response to this message would say whether
this transaction committed or not.

It is hard to distribute the commit action over many machines.  Distributed
failure makes it even harder.  I would try very hard to avoid doing
distributed commits.

Bill Frantz       | If hate must be my prison  | Periwinkle -- Consulting
(408)356-8506     | lock, then love must be    | 16345 Englewood Ave. | the key.     - Phil Ochs   | Los Gatos, CA 95032, USA