Stop sharing the derivation-ids-hash-table

Since the derivations are independent between systems, and this is just a
cache of the database ids.
This commit is contained in:
Christopher Baines 2025-07-08 07:23:32 +01:00
parent 0184f10942
commit 4d04a7f47b

View file

@ -2406,7 +2406,6 @@ WHERE builder != 'builtin:download'
guix-derivation
call-with-utility-thread
read-derivations/serialised
derivation-ids-hash-table
#:key skip-system-tests?
extra-inferior-environment-variables
parallelism
@ -2647,7 +2646,7 @@ WHERE builder != 'builtin:download'
postgresql-connection-pool
call-with-utility-thread
read-derivations/serialised
derivation-ids-hash-table
(make-hash-table)
derivations-vector
#:log-tag (simple-format #f "~A:~A" system target)))))
(guix-revision-id
@ -2748,7 +2747,7 @@ WHERE builder != 'builtin:download'
postgresql-connection-pool
call-with-utility-thread
read-derivations/serialised
derivation-ids-hash-table
(make-hash-table)
(list->vector
(map cdr derivation-file-names-by-system))
#:log-tag "channel-instances"))))
@ -2781,7 +2780,6 @@ WHERE builder != 'builtin:download'
(define (load-channel-instances call-with-utility-thread
read-derivations/serialised
derivation-ids-hash-table
git-repository-id commit
channel-derivations-by-system)
;; Load the channel instances in a different transaction, so that this can
@ -2824,19 +2822,24 @@ WHERE builder != 'builtin:download'
(lambda (drv)
(cons system drv)))))
channel-derivations-by-system))
(derivation-ids
(derivation-ids-by-system
(fibers-map
(match-lambda
((system . drv)
(cons system
(vector-ref
(derivation-file-names->derivation-ids
postgresql-connection-pool
call-with-utility-thread
read-derivations/serialised
derivation-ids-hash-table
(list->vector (map cdr derivations-by-system)))))
(make-hash-table)
(vector drv))
0))))
derivations-by-system)))
(insert-channel-instances channel-instances-conn
guix-revision-id
(map cons
(map car derivations-by-system)
(vector->list derivation-ids))))
derivation-ids-by-system))
(simple-format
(current-error-port)
"guix-data-service: saved the channel instance derivations to the database\n"))
@ -2881,9 +2884,6 @@ WHERE builder != 'builtin:download'
read-derivations/parallelism-limiter
(apply read-derivations args)))
(define derivation-ids-hash-table
(make-hash-table))
(let* ((git-repository-fields
(select-git-repository conn git-repository-id))
(git-repository-url
@ -2920,7 +2920,6 @@ WHERE builder != 'builtin:download'
(fibers-force channel-derivations-by-system-promise)))
(load-channel-instances call-with-utility-thread
read-derivations/serialised
derivation-ids-hash-table
git-repository-id commit
channel-derivations-by-system)))
#:on-exception
@ -2947,7 +2946,6 @@ WHERE builder != 'builtin:download'
guix-derivation
call-with-utility-thread
read-derivations/serialised
derivation-ids-hash-table
#:skip-system-tests?
skip-system-tests?
#:extra-inferior-environment-variables