Watch
1
0
Fork
You've already forked pkg-proxy
1
mirror of https://github.com/git-pkgs/proxy.git synced 2026-11-09 15:49:16 -05:00
Commit graph pkg-proxy/internal/handler/unrecorded_test.go
Author SHA1 Message Date
Simon Chrzanowski
fb346ae355 Hold an unrecorded object for a client reading its stored copy
A client that fell behind is switched to the stored copy, which for an
unrecorded refetch is deleted once the waiters close. It now takes its
own hold, released when it closes.
2026-10-27 12:30:59 +01:00
Simon Chrzanowski
9a5e5a2c9a Keep a slow client from holding back a streamed miss
The upstream read fed the client through a pipe, so it ran at the client's
speed. The client is now fed from a bounded buffer and, once it falls
behind, continues from the stored copy where it left off.

A caller handed the stream takes no hold on an unrecorded object.
2026-10-26 16:44:11 +01:00
Andrew Nesbitt
257d159ecf
Release an unrecorded object's hold only once per reader 2026-10-26 10:19:24 +00:00
Christian Heim
24acee2731 When a refetched file can be neither recorded nor queued for deletion, it is still served to everyone sharing the fetch and deleted once the last of them has closed it, so it no longer stays in storage with nothing pointing at it. A record that committed despite the reported error keeps its file. 2026-10-26 08:49:50 +01:00