Re: [PATCH 00/10] reftable: fix reload with active iterators
From: Junio C Hamano <hidden>
Date: 2024-08-22 15:11:05
Jeff King [off-list ref] writes:
But I don't think that's sufficient here, as the race happens while we are actually iterating. You'd really need some for_each_ref() callback that blocks in some externally controllable way. Possibly you could do something clever with partial-clone lazy fetches (where you stall the fetch and then do ref updates in the middle), but that is getting pretty convoluted.
;-)
So I think the tests you included seem like a good place to stop.
Yeah, I agree with this assessment.
I did have a little trouble applying this for testing. I wanted to do it on 'next', which has the maintenance changes to cause the race. But merging it there ended up with a lot of conflicts with other reftable topics (especially the tests). I was able to resolve them all, but you might be able to make Junio's life easier by coordinating the topics a bit.
I haven't tried merging the topic to 'next', jumping over other topics in flight in 'seen'. Thanks for a heads up, but I am hoping that my rerere database is fairly complete for this topic by now. Thanks.