[dak/master] 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 08b09cb..75fb5e5 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.1.4
Reply to: