Transaction protocol

Sean Hinde <>
Tue Nov 9 19:32:41 CET 2004


On 9 Nov 2004, at 15:53, Hakan Mattsson wrote:

> On Thu, 4 Nov 2004, Inswitch Solutions - Erlang Evaluation wrote:
>
> The hard part is not the implementation of the commit protocol, it is
> the recovery of the persistent data when the nodes are re-connected.
>

Maybe it is time to re-evaluate the decision to never attempt to merge 
updates after a partition in Mnesia. This could take the form of a 
table property that declares hat this table is safe to merge on 
re-connect and that some small errors due to time differences between 
machines are acceptable.

The current assumption that all tables must return to a consistent 
state by copying everything starts to fall down when we get to very 
large tables (ref Per Bergquist talk at EUC as well as our own 
experience).

If both nodes have free run for a significant time then currently all 
updates on one node will be lost - in many cases this is worse than 
potentially losing some consistency between multiple tables updated in 
one transaction, and in many other cases (simple updates to single 
tables) there would be no loss of consistency,  and much less loss of 
updates.

Sean




More information about the erlang-questions mailing list