]> git.ipfire.org Git - thirdparty/elfutils.git/commit
PR27323 debuginfod: improve query concurrency with grooming
authorFrank Ch. Eigler <fche@redhat.com>
Tue, 2 Feb 2021 21:49:19 +0000 (16:49 -0500)
committerFrank Ch. Eigler <fche@redhat.com>
Fri, 5 Feb 2021 17:38:50 +0000 (12:38 -0500)
commit6362941714548d93a348239ca8b8038005bd57cd
treed0405026a7108299ecfc57a226e886d1c5314e29
parentf36ac0f291356912106d06bb851b36baf0351e0f
PR27323 debuginfod: improve query concurrency with grooming

Start using a second sqlite3 database connection for webapi query
servicing.  This allows much better concurrency when long-running
grooming operations are in progress.

No testsuite impact.  Grooming times are too short to try to hit with
concurrent requests.  OTOH the existing tests did show some
interesting regressions that needed fixing, like needing not to
dual-wield db and dbq when doing rpm-dwz-related lookups from during
scanning, and the way in which corrupted databases are reported.
These needed some automated invocations of gdb on the running
debuginfod binaries that just failed their testing, for in-situ
debugging.

Hand-tested for function on a huge 20GB index file.  Allowed webapi
queries to be run throughout random points of the grooming process,
including especially the long count(*) report loops before & after.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
debuginfod/ChangeLog
debuginfod/debuginfod.cxx