Thread (36 messages) 36 messages, 4 authors, 1d ago

Re: [PATCH v3] fetch: commit references fetched before backfilling tags

flat view

From: Patrick Steinhardt <hidden>
Date: 2026-10-21 06:39:09

On Tue, Oct 20, 2026 at 06:05:22PM -0500, Justin Tobler wrote:
On 26/10/15 11:24PM, Karthik Nayak wrote:
[snip]
quoted
Fix this by committing the previous batched update and initiating a new
one for backfilling tags. Use a separate error variable for tracking the
reference updates: One, it ensures that errors from the regular ref
updates don't cause a total failure. Two, if starting the transaction
for backfilling tags fails, only those updates are not made to disk. The
initial error is now printed straight away to clear the buffer for
further errors.
Naively, I think it would be nice if it were possible supplement the
backfill fetch "haves" with the non-committed references in the pending
transaction directly. That would avoid having to commit the references
in the middle and probably also fix it for atomic fetches too, but I'm
uncertain if that would be a simple or reasonable thing to do.
Hmm, I think that's a sensible idea. We should know about the ref
updates we have already scheduled into the transaction, so in theory we
could use their new object IDs in the negotiation. If that's possible it
would definitely be a much better fix.
Committing the intermediate state here does in part fix the issue, so it
may be a good first step regardless.
Well, if the above suggestions works we'd want to revert this step here,
so we'd first have to go back a step again.

If the above is infeasible then that's fine. But if it is feasible
without too much effort I'd go for it directly.

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