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

RE: reftable [v5]: new ref storage format

From
DTDavid Turner <david.turner@twosigma.com>
Date
Aug 7, 2017, 15:40 UTC
Message-ID
<833bc420609e452e8837862eb90f6a43@exmbdft7.ad.twosigma.com>
In-Reply-To
<CAJo=hJsEaKH40WnhxqvkASpiXnV8ipc+b1zrZ9VEjqRjpJ17Qg@mail.gmail.com>
Show 8 quoted lines
> -----Original Message-----
> From: Shawn Pearce [mailto:spearce@spearce.org]
> In git-core, I'm worried about the caveats related to locking. Git tries to work
> nicely on NFS, and it seems LMDB wouldn't. Git also runs fine on a read-only
> filesystem, and LMDB gets a little weird about that. Finally, Git doesn't have
> nearly the risks LMDB has about a crashed reader or writer locking out future
> operations until the locks have been resolved. This is especially true with shared
> user repositories, where another user might setup and own the semaphore.

FWIW, git has problems with stale lock file in the event of a crash (refs/foo.lock might still exist, and git does nothing to clean it up).

In my testing (which involved a *lot* of crashing), I never once had to clean up a stale LMDB lock. That said, I didn't test on a RO filesystem.

Previous: Shawn PearceNext: Jeff King
Message 5 of 12 in “Re: reftable [v5]: new ref storage format”
  1. Shawn PearceAug 6, 2017
  2. Ævar Arnfjörð BjarmasonAug 6, 2017
  3. Shawn PearceAug 6, 2017
  4. Shawn PearceAug 7, 2017
  5. David TurnerAug 7, 2017
  6. Jeff KingAug 8, 2017
  7. Shawn PearceAug 8, 2017
  8. Jeff KingAug 8, 2017
  9. Howard ChuAug 9, 2017
  10. Howard ChuAug 14, 2017
  11. David TurnerAug 14, 2017
  12. Jeff KingAug 15, 2017

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.