From: Jakub Narebski Date: Thu, 25 Jun 2009 13:11:52 GMT Subject: Re: crash proof / recovery from power loss Message-ID: In-Reply-To: <20090623210556.GB31015@twin.sascha.silbe.org> Sascha Silbe writes: > I'm going to use git as a back end for the Sugar data store / > Journal. [1] > > One thing I'm worried about is how it's going to behave if a crash > (e.g. power loss - no corruption) occurs. > What can happen in such a case? Is it always recoverable and if so, how? > > > [1] http://wiki.sugarlabs.org/go/Version_support_for_datastore In Git all operations are atomic. In most cases Git uses the following 'trick': it first downloads/saves/creates data, and only then automatically update information that it is available. So crash would result in some unreachanble objects, which would go away on prune. In some cases Git uses locks to ensure atomicity. I don't know what happens with locks after a crash... -- Jakub Narebski Poland ShadeHawk on #git