Date: Fri, 10 Jan 2020 06:46:13 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 232350] periodic: pkg-checksum and pkg-backup interfere with 'overnight' port builds Message-ID: <bug-232350-227-24z8Ze7r0B@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-232350-227@https.bugs.freebsd.org/bugzilla/> References: <bug-232350-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D232350 Matthew Seaman <matthew@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matthew@FreeBSD.org --- Comment #28 from Matthew Seaman <matthew@FreeBSD.org> --- (In reply to Tatsuki Makino from comment #27) The pkg_lock table is used by pkg-lock(8), not for the database locking use= d as a part of the routine operations of pkg(8) as a whole. The sqlite3 locking used by pkg(8) is a global lock over the whole database= -- sqlite3 is not a multiuser database and has essentially no support for concurrent access or MVCC. If one instance of pkg(8) is active it will hold either a write lock -- giving it exclusive access -- or a read lock -- which could be shared with other consumers, but all are blocked from writing or obtaining a write lock themselves. That's always going to be a potential c= ause of problems whenever multiple invocations of pkg(8) are run simultaneously. This is unfortunately intrinsic to the use of sqlite3. Possible alternativ= es might include much heavier-weight RDBMSes like mysql or postgresql, which w= ould solve the concurrency problem but doesn't really seem practical for general use. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-232350-227-24z8Ze7r0B>