Thread (1 message) 1 message, 1 author, 2016-06-15

Re: fact-import: failed to apply delta

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:08

"Shawn O. Pearce" [off-list ref] writes:
Daniel Barkalow [off-list ref] wrote:
quoted
On Tue, 10 Feb 2009, Shawn O. Pearce wrote:
quoted
We should dump the cached_objects table in sha1_file.c during
a checkpoint in fast-import.
No, that one's keyed by sha1, and doesn't get collisions; it's the 
delta_base_cache that's the issue; it's keyed by struct packed_git * and 
offset.
Uh, yea, I realize that after I sent the message.  Does this patch
fix it for you?

--8<--
Clear the delta base cache during fast-import checkpoint

Otherwise we may reuse the same memory address for a totally
different "struct packed_git", and a previously cached object from
the prior occupant might be returned when trying to unpack an object
from the new pack.
Can this be made more automatic?

For example if you do this every time a new pack is installed to
sha1_file(), like in add_packed_git() perhaps, wouldn't that be much less
error prone?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help