> Klaus, do you think the current disk-based repository cache would work when
> accessed from multiple processes?
The read-only distdir would of course work.
For the repository cache, I would say, at the moment it has a write-read
conflict that might end in readers erroring out, but not in wrong builds:
if a process is looking at the cache while another process, is adding
a file into the cache, that process might see a file in the cache, but
(as the file is not yet completely written) it has the wrong hash, so
error out.
This can easily be fixed (and I think we should do it) by replacing the
FileSystemUtils.copyFile() in lines 149 and 174 of RepositoryCache.java
by the usual copy-fsync-rename dance.
If we use other storage systems than a POSIX file system, we would need
again to take the appropriate measures to ensure that in the final
destination, the file appears atomically (and not through an intermediate
state with incomplete contents).