All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Ted Nyman <tnyman@openai.com>
Cc: git@vger.kernel.org,  me@ttaylorr.com,  peff@peff.net,
	 ps@pks.im, karthik.188@gmail.com,  sandals@crustytoothpaste.net,
	 avarab@gmail.com
Subject: Re: [PATCH v3 0/3] packfile URIs: support concurrent downloads
Date: Thu, 23 Jul 2026 21:43:14 -0700	[thread overview]
Message-ID: <xmqqldb19evx.fsf@gitster.g> (raw)
In-Reply-To: <cover.1784676106.git.tnyman@openai.com> (Ted Nyman's message of "Tue, 21 Jul 2026 16:29:39 -0700")

Ted Nyman <tnyman@openai.com> writes:

> Packfile URI and dumb HTTP downloads stage packs at
> objects/pack/pack-<hash>.pack.temp so an interrupted transfer can
> resume. Opening that file in append mode forces every write to its
> current end. Two Git processes fetching the same pack into one object
> database can therefore append duplicate data and corrupt the pack.
> ...
> The tests cover resumption, a completed partial returning 416,
> overlapping 200 and 206 responses, unlinking the staging path while
> index-pack holds its descriptor, and a pre-existing .keep file. The
> unlink test does not require FIFOs, so it can exercise MinGW's sharing
> behavior even though the concurrent-download tests are skipped there.
>
> Changes since v2:
>
>   * Split the --index-pack-arg documentation and error-message cleanup
>     into a preliminary patch, as requested by Junio.
>   * Clarify why per-descriptor offsets keep overlapping writes safe and
>     why MinGW permits the shared staging path to be unlinked.
>   * Add a non-FIFO unlink-while-indexing regression test that can run on
>     MinGW.
>   * Rebase onto the current master.

When merged into 'seen', this topic seems to cause t5550 to hang
fairly consistently.  It is not surprising, considering that the
topic adds roughly 240 lines to the test script in question.  It is
entirely possible that we are seeing an existing breakage from
another topic in 'seen' that is exposed by the additional tests.

The CI run

  https://github.com/git/git/actions/runs/30045343889

is today's seen (excluding this topic) at 728e180b7b; it has
breakages in leak checking jobs from other topics, but does not see
t5550 hanging.

The CI run

  https://github.com/git/git/actions/runs/30048327878

is seen at 05d0dd408c that merges this topic on top of 728e180b7b
above.  It breaks the same leak checks, but in addition makes t5550
hang.

Can you help figure out what is going on?

Thanks.


PS. Recent CI runs on 'seen' started to spend so much time on static
    analysis (aka coccinelle) jobs, even though I do not think we
    acquired any new rules recently.  We probably need to figure out
    what is going on there, too.  There is something wrong for these
    CI runs that usually take ~40 minutes to spin for more than 4
    hours.


  parent reply	other threads:[~2026-07-24  4:43 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-13 22:37 [PATCH 0/2] packfile URIs: support concurrent downloads Ted Nyman
2026-07-13 22:34 ` [PATCH 1/2] http: use unique tempfiles for packfile URI downloads Ted Nyman
2026-07-14  1:00   ` Junio C Hamano
2026-07-14  1:58     ` Ted Nyman
2026-07-14  4:07       ` Taylor Blau
2026-07-14  5:28       ` Jeff King
2026-07-14 18:10         ` Junio C Hamano
2026-07-14 18:31           ` Ted Nyman
2026-07-14  4:06   ` Taylor Blau
2026-07-14  5:44     ` Jeff King
2026-07-14  6:46   ` Jeff King
2026-07-13 22:34 ` [PATCH 2/2] fetch-pack: accept "pack" output for packfile URIs Ted Nyman
2026-07-14  7:12   ` Jeff King
2026-07-14  7:13     ` Jeff King
2026-07-14 18:38     ` Ted Nyman
2026-07-14 21:47       ` Jeff King
2026-07-14  4:13 ` [PATCH 0/2] packfile URIs: support concurrent downloads Taylor Blau
2026-07-20 22:33 ` [PATCH v2 " Ted Nyman
2026-07-20 22:33   ` [PATCH v2 1/2] http: avoid concurrent appends to partial packs Ted Nyman
2026-07-21 19:56     ` Junio C Hamano
2026-07-20 22:34   ` [PATCH v2 2/2] fetch-pack: accept "pack" output for packfile URIs Ted Nyman
2026-07-21 23:29 ` [PATCH v3 0/3] packfile URIs: support concurrent downloads Ted Nyman
2026-07-21 23:29   ` [PATCH v3 1/3] http-fetch: correct --index-pack-arg documentation Ted Nyman
2026-07-21 23:29   ` [PATCH v3 2/3] http: avoid concurrent appends to partial packs Ted Nyman
2026-07-21 23:29   ` [PATCH v3 3/3] fetch-pack: accept "pack" output for packfile URIs Ted Nyman
2026-07-24  4:43   ` Junio C Hamano [this message]
2026-07-24  8:14   ` [PATCH v4 0/3] packfile URIs: support concurrent downloads Ted Nyman
2026-07-24  8:14     ` [PATCH v4 1/3] http-fetch: correct --index-pack-arg documentation Ted Nyman
2026-07-24 21:38       ` Taylor Blau
2026-07-24  8:14     ` [PATCH v4 2/3] http: avoid concurrent appends to partial packs Ted Nyman
2026-07-24  8:14     ` [PATCH v4 3/3] fetch-pack: accept "pack" output for packfile URIs Ted Nyman
2026-07-24 21:46       ` Taylor Blau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqldb19evx.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=karthik.188@gmail.com \
    --cc=me@ttaylorr.com \
    --cc=peff@peff.net \
    --cc=ps@pks.im \
    --cc=sandals@crustytoothpaste.net \
    --cc=tnyman@openai.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.