source-archive generation no longer runs under the global DB lock โ it was holding kepr's single app.lock() through the entire read+decompress+tar+gzip, freezing every other request (intermittent site-wide hangs when an uncached /<repo>/archive/*.tar.gz was fetched, e.g. a NixOS-forum link to a repo's source). Now the lock is held only for the quick cache-lookup + manifest-path reads and a brief cache upsert; the build runs lock-free. buildSourceArchive writes atomically (tmp+rename) so concurrent builders of the same archive can't corrupt the file now that they're unserialized (v1.31.85)
$ koh steal kepr.uk/kepr@309a8ccef858
·
parent: b612e631280f
discussion
log in to leave a comment.