Transaction protocol
Sean Hinde
sean.hinde@REDACTED
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