git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: crash proof / recovery from power loss

From
Jakub Narebski <jnareb@gmail.com>
Date
Jun 25, 2009, 13:11 UTC
Message-ID
<m37hz0xxuq.fsf@localhost.localdomain>
In-Reply-To
<20090623210556.GB31015@twin.sascha.silbe.org>
Sascha Silbe <sascha-ml-devel-vcs-git@silbe.org> writes:
Show 9 quoted lines
> 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
Previous: Sascha SilbeNext: Martin Langhoff
Message 2 of 3 in “crash proof / recovery from power loss”
  1. Sascha SilbeJun 23, 2009
  2. Jakub NarebskiJun 25, 2009
  3. Martin LanghoffJun 25, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.