Re: [PATCH] add `ignore_missing_links` mode to revwalk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 31, 2014 at 02:48:45PM -0700, Siddharth Agarwal wrote:

> On 03/28/2014 03:00 AM, Jeff King wrote:
> >From: Vicent Marti <tanoku@xxxxxxxxx>
> >
> >When pack-objects is computing the reachability bitmap to serve a
> >fetch request, it can erroneously die() if some of the UNINTERESTING
> >objects are not present. Upload-pack throws away HAVE lines from the
> >client for objects we do not have, but we may have a tip object
> >without all of its ancestors (e.g., if the tip is no longer reachable
> >and was new enough to survive a `git prune`, but some of its
> >reachable objects did get pruned).
> 
> Thanks for this patch. It looks pretty sensible.
> 
> Unfortunately, I can't provide feedback on running it in production
> because we've decided to set aside experimenting with bitmaps for a
> bit. I hope to get back to it in a couple of months.

Bummer. Thanks for taking a look at it.

I do think this patch is definitely fixing a bug, and needs to be
pursued.  We've been running with bitmaps in production on GitHub since
last summer, but have never run into this situation. However, I think it
is largely caused by our pruning parameters:

  1. We tend not to prune very often, and instead keep unreachable
     objects around as a safety mechanism.

  2. When we do prune, we use a very tight cutoff, rather than the
     default 2-week period. So the window of opportunity is much smaller
     for a repo to prune an object but not its descendant (typically
     either we keep both, or they both get pruned).

So if you do come back to it later, the fix should have filtered through
to "master" by then. :)

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]