From 294ab6353d6dc713d106d599dc117dae98441504 Mon Sep 17 00:00:00 2001 From: Ansgar Burchardt Date: Wed, 30 Mar 2016 23:36:23 +0200 Subject: [PATCH] Acquire a lock in the main process when writing Contents This should prevent changes to the {src,bin}_contents tables and result in all helper processes seeing the same data. --- daklib/contents.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/daklib/contents.py b/daklib/contents.py index 08b09cb3..75fb5e59 100644 --- a/daklib/contents.py +++ b/daklib/contents.py @@ -299,6 +299,11 @@ class ContentsWriter(object): deb_id = get_override_type('deb', session).overridetype_id udeb_id = get_override_type('udeb', session).overridetype_id pool = Pool() + + # Lock tables so that nobody can change things underneath us + session.execute("LOCK TABLE bin_contents IN SHARE MODE") + session.execute("LOCK TABLE src_contents IN SHARE MODE") + for suite in suite_query: suite_id = suite.suite_id for component in component_query: -- 2.39.2