diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm index 85e7edd..d5bd431 100644 --- a/guix-data-service/jobs/load-new-guix-revision.scm +++ b/guix-data-service/jobs/load-new-guix-revision.scm @@ -1205,29 +1205,29 @@ SELECT 1 FROM derivation_source_file_nars WHERE derivation_source_file_id = $1" (if (= 0 derivations-count) #() (begin - (simple-format - #t "debug: derivation-file-names->derivation-ids: processing ~A derivations (~A)\n" - derivations-count - log-tag) - (with-resource-from-pool postgresql-connection-pool conn - (update-derivation-ids-hash-table! + (update-derivation-ids-hash-table! conn derivation-ids-hash-table derivation-file-names)) - (let* ((missing-derivation-filenames - (deduplicate-strings - (vector-fold - (lambda (_ result derivation-file-name) - (if (not derivation-file-name) - result - (if (hash-ref derivation-ids-hash-table - derivation-file-name) - result - (cons derivation-file-name result)))) - '() - derivation-file-names)))) + (let ((missing-derivation-filenames + (deduplicate-strings + (vector-fold + (lambda (_ result derivation-file-name) + (if (not derivation-file-name) + result + (if (hash-ref derivation-ids-hash-table + derivation-file-name) + result + (cons derivation-file-name result)))) + '() + derivation-file-names)))) + (simple-format + #t "debug: derivation-file-names->derivation-ids: processing ~A missing derivations (~A)\n" + (length missing-derivation-filenames) + log-tag) + (let ((chunks (chunk! missing-derivation-filenames 1000))) (for-each (lambda (i missing-derivation-file-names-chunk)