752 B
752 B
synopsis, issues, cls, category, credits
| synopsis | issues | cls | category | credits | |||
|---|---|---|---|---|---|---|---|
| Use a lock when fetching inputs |
|
|
Fixes |
|
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.