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

Re: [JGIT PATCH 3/3] Rescan for packs and retry once if object lookup scan fails

From
Shawn O. Pearce <spearce@spearce.org>
Date
Apr 20, 2009, 14:32 UTC
Message-ID
<20090420143256.GX23604@spearce.org>
In-Reply-To
<1240165809-16703-4-git-send-email-robin.rosenberg@dewire.com>
Robin Rosenberg <robin.rosenberg@dewire.com> wrote:
>  .../src/org/spearce/jgit/lib/Repository.java       |   76 ++++++++++++++++----
>  1 files changed, 63 insertions(+), 13 deletions(-)
NAK.

I see a number of things I don't like about this implementation as it stands. I'll try to work up a counter patch today.

At a glance, the new logic for openObject is pretty twisted to follow. It mostly makes sense, but I had hoped for something cleaner to read.

I'm really worried about the case where a pack file stays with the same name, but its contents and index have been recreated, and thus our existing PackFile object is invalid for access to it. Your implementation as written would keep the same PackFile in memory, and we'd lose access to those objects.

You also pointed out some concerns about windows stuck in the
WindowCache.  I'm equally worried about that.
 
-- 
Shawn.
Previous: Robin Rosenberg
Message 6 of 6 in “JGit cache bug”
  1. Robin RosenbergApr 18, 2009
  2. 0/3 http://code.google.com/p/egit/issues/detail?id=79Robin Rosenberg, Apr 19, 2009
  3. 1/3 Add test cases dedicated to the WindowCacheRobin Rosenberg, Apr 19, 2009
  4. 2/3 Simulate breakpointsRobin Rosenberg, Apr 19, 2009
  5. 3/3 Rescan for packs and retry once if object lookup scan failsRobin Rosenberg, Apr 19, 2009
  6. Shawn O. PearceApr 20, 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.