From 874ad02c862f2be068537588d3365749a1796400 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 7 Jun 2024 16:54:31 +0100 Subject: Don't ignore missing_inputs setup failures when allocating As if there is an issue substituting the input, this can cause the build to fail to start over and over again, potentially retrying downloading the inputs over and over again. This will mean that the setup failures will need clearing manually before the build can be tried again, but this is probably a good thing. --- guix-build-coordinator/build-allocator.scm | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'guix-build-coordinator') diff --git a/guix-build-coordinator/build-allocator.scm b/guix-build-coordinator/build-allocator.scm index f73c457..58e5301 100644 --- a/guix-build-coordinator/build-allocator.scm +++ b/guix-build-coordinator/build-allocator.scm @@ -352,20 +352,13 @@ #:label-values `((system . ,system))))) counts))) - ;; Go through the setup failures and look specifically at the - ;; missing_inputs ones. Eliminate any missing_inputs failures if all the - ;; missing inputs appear to have been built successfully, and update the + ;; Go through the setup failures and update the ;; derived-build-priorities-hash to reflect the priorities of builds based ;; on the builds that would be "unblocked" if they were completed. (for-each (lambda (setup-failure-build-id) (let ((setup-failures - (filter - (lambda (setup-failure) - (string=? "missing_inputs" - (assq-ref setup-failure 'failure-reason))) - (hash-ref setup-failures-hash - setup-failure-build-id))) + (hash-ref setup-failures-hash setup-failure-build-id)) (setup-failure-build-derived-priority (hash-ref derived-build-priorities-hash setup-failure-build-id))) @@ -538,7 +531,10 @@ (assq-ref setup-failure 'failure-reason))) (cond ((string=? failure-reason "missing_inputs") - #f) + ;; This problem might go away, but just don't try the same agent + ;; again for now. + (string=? (assq-ref setup-failure 'agent-id) + agent-id)) ((string=? failure-reason "could_not_delete_outputs") ;; This problem might go away, but just don't try the same agent ;; again for now. -- cgit v1.2.3