Thread (22 messages) flat view 22 messages, 3 authors, 2016-06-15

Re: [PATCH 00/12] Fix some reference-related races

From: Jeff King <hidden>
Date: 2016-06-15 22:57:42

On Tue, Jun 11, 2013 at 11:48:20PM +0200, Michael Haggerty wrote:
*This patch series must be built on top of mh/reflife.*
Applying on top of what Junio has in mh/reflife seems to create
conflicts at the first patch. I didn't look into it, though, but just
read the patches and looked at the packed-refs-transactions branch at
git://github.com/mhagger/git.git.
The other problem was that the for_each_ref() functions will die if
the ref cache that they are iterating over is freed out from under
them.  This problem is solved by using reference counts to avoid
freeing the old packed ref cache (even if it is no longer valid) until
all users are done with it.
I was worried that the reference-counting would end up invasive and
ugly, but it turned out quite nice.

Overall, I think the series goes in the right direction, and I didn't
see any implementation flaws. The core of the race-handling is the same
as in mine, but your "hyperactive repository" patch shows how badly mine
can break under load.

I sent a few comments to specific patches, but I'd be fine with applying
it as-is. Thanks for working on it.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help