Files
lix/doc/manual/rl-next/libfetchers-lock-cache-input.md
T
Linus Heckemann 8edb857248 libfetchers: lock inputs before fetching them
Fixes #1122

Change-Id: I9243e692779a795066417a15c6315dd56a6a6964
2026-05-26 15:14:13 +00:00

752 B

synopsis, issues, cls, category, credits
synopsis issues cls category credits
Use a lock when fetching inputs
1122
5438
Fixes
lheckemann

Up to now, attempting to fetch the same git input from multiple processes concurrently when the input is not yet cached presented multiple issues:

  • If the input was not already present, it would unnecessarily be fetched multiple times;

  • Access to the fetcher cache database was contentious, and could lead to evaluation or flake locking failing unnecessary because the fetcher cache was locked.

We now acquire a lock on a path based on a hash of the input specification before accessing the fetcher db, reducing contention significantly, and preventing more than one process from fetching the same path at the same time.