Thread (2 messages) flat view 2 messages, 2 authors, 2019-03-14

Re: [PATCH 4/4] get_oid(): when an object was not found, try harder

From: Jeff King <hidden>
Date: 2019-03-14 18:57:15

On Thu, Mar 14, 2019 at 01:05:03PM +0900, Junio C Hamano wrote:
Jeff King [off-list ref] writes:
quoted
I'm not sure it's really worth addressing (just because I don't think
there's a good way to do it that isn't expensive).
I do not think so, either.  Not at this layer, anyway.

If a "-x" command newly created an object whose prefix makes it
ambiguous against an existing object, we would not notice, unless we
refresh the loose object cache, that we now have two objects that
share the prefix.  And we will find an object (the older one) with
the prefix in the stale cache without hitting "oh we do not find it,
let's retry" codepath.  So to solve both sides of the coin, we'd
need invalidation either way, which obviously defeats the whole
caching concept, doesn't it?
Right, that was the conclusion I came to. You cannot solve it in all
cases without checking whether new objects have appeared for every
lookup.  I think that could be as cheap as a stat() on the pack
directory and one on the appropriate loose directory, but I suspect even
that might be measurably slower.

-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