Package: dgit-infrastructure
Version: 10.3

Recently I have seen dgit push being slow on a number of occasions.
Output included things like this:

remote: gpgv: Good signature from "Ian Jackson (new general purpose key) 
<ijack...@chiark.greenend.org.uk>"
remote: gpgv:                 aka "Ian Jackson <i...@torproject.org>"
remote: [policy database busy, retrying (1s)]
remote: [policy database busy, retrying (1s)]
remote: To /srv/dgit.debian.org/dispatch-dir/distro=debian/repos/hippotat.git
remote:    298f721..4315a18  4315a18bd0414f2edfbe302f187edac16c1c39cd -> 
refs/dgit/rc-buggy

The "retrying" messages seem to come at intervals of much more than
1s.  I investigated with ps on the dgit-repos server.  It seems that
the cron job was running.

I think what is happening is that the debian policy hook script is
obtaining a sqlite3 lock on the (single) policy db file at the start,
and then works to make ftpmaster API calls.  (And maybe do other
stuff.)

It would be best to do this with the lock released.  (Care should be
taken to retain appropriate transactional/temporal integrity.)

Ian.

root         344       1  0  2024 ?        00:02:10   /usr/sbin/cron -f
root     3640523     344  0 01:36 ?        00:00:00     /usr/sbin/CRON -f
dgit     3640524 3640523  0 01:36 ?        00:00:00       /bin/sh -c 
/srv/dgit.debian.org/dgit-live/infra/drs-cron-wrap debian
dgit     3640525 3640524  0 01:36 ?        00:00:00         /usr/bin/perl -w 
/srv/dgit.debian.org/dgit-live/infra/dgit-repos-server debian 
/srv/dgit.debian.org/dispatch-dir/distro=debian  --cron
dgit     3645079 3640525  0 01:43 ?        00:00:00           /usr/bin/perl -w 
/srv/dgit.debian.org/dispatch-dir/distro=debian/policy-hook debian 
/srv/dgit.debian.org/dispatch-dir/distro=debian/repos 
/srv/dgit.debian.org/dispatch-dir/distro=debian/dgit-live /srv/dgit.debian.o
dgit     3645435 3645079  0 01:44 ?        00:00:00             sh -c 
/srv/dgit.debian.org/dispatch-dir/distro=debian/dgit-live/dgit -ddebian 
$DGIT_TEST_OPTS archive-api-query dsc_in_suite/unstable-debug/pd-binfile
dgit     3645436 3645435 34 01:44 ?        00:00:00               /usr/bin/perl 
-w /srv/dgit.debian.org/dispatch-dir/distro=debian/dgit-live/dgit -ddebian 
archive-api-query dsc_in_suite/unstable-debug/pd-binfile

-- 
Ian Jackson <ijack...@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to