[erlang-questions] auto-syncing mnesia after a network split
Mon Dec 8 13:47:32 CET 2008
Claes Wikström <klacke@REDACTED> writes:
> mats cronqvist wrote:
>> "Felix Hamilton" <fhamilton@REDACTED> writes:
>>> I have used NTP (the Network Time Protocol) quite effectively to sync
>>> timestamps in widely distributed systems with a fairly high degree of
>> i personally would not bet a dirty sock on ordering events by time
>> stamps (in a distributed system). and for once Leslie Lamport seems
>> to agreewith me.
> I think I would. In retrospect I think the worst part of mnesia (apart
> from the sucky dets module I once wrote) is how we chose to deal with
> partitioned networks.
> We should have chosen to rely on the system clock. For example if
> all nodes make a persistent note of when they lost contact with other
> nodes. Once they reunite they could compare timestamps, and also compare
> timestamps on the last committed transaction.
> In a vast majority of cases it would be possible to automatically chose
> a winner.
and what would happen in the small minority of cases?
> Assuming the clocks on all involved hosts are sufficiently synchronized
> by NTP that is.
> Furthermore - since this only affects recovery after partitioning - this
> can still be added.
More information about the erlang-questions