mirror of
https://gitea.com/gitea/runner.git
synced 2026-11-05 14:55:44 +00:00
Committing a cache upload copied every part into a new archive before deleting the parts, so a 5 GB save needed 10 GB free. Failed writes and assemblies left their partial bytes until the next stale sweep, up to an hour later, and every other save on the runner failed meanwhile. Nothing made room for an upload, so once the cache had filled its volume down to the free space floor, larger saves kept failing. - Assemble in place, deleting each part once appended. - Drop partial parts and archives on failure. - Before a part would cross the floor, evict the least recently used entries. - Reject uploads to reservations the sweep already deleted, which left files nothing removed. _Written by Claude (Opus 5.5)._ Reviewed-on: https://gitea.com/gitea/runner/pulls/1377 Reviewed-by: bircni <[email protected]> Co-authored-by: silverwind <[email protected]>