On Mon, Mar 23, 2015 at 04:46:23PM +0100, 'Klaus Aehlig' via ganeti-devel wrote:
With 2.12 jobs run as separate processes. Therefore,
each process should only be in charge of a single
job. Keep track of its job id and warn if this property
is violated.

Signed-off-by: Klaus Aehlig <[email protected]>
---
lib/jqueue/__init__.py | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/lib/jqueue/__init__.py b/lib/jqueue/__init__.py
index df66d94..48b16e7 100644
--- a/lib/jqueue/__init__.py
+++ b/lib/jqueue/__init__.py
@@ -1397,6 +1397,7 @@ class JobQueue(object):
        data and other ganeti objects

    """
+    self.primary_jid = None
    self.context = context
    self._memcache = weakref.WeakValueDictionary()
    self._my_hostname = netutils.Hostname.GetSysName()
@@ -1443,6 +1444,12 @@ class JobQueue(object):
    Pick up a job that already is in the job queue and start/resume it.

    """
+    if self.primary_jid:
+      logging.warning("Job process asked to pick up %s, but already has %s",
+                      job_id, self.primary_jid)
+
+    self.primary_jid = int(job_id)
+
    job = self._LoadJobUnlocked(job_id)

    if job is None:
--
2.2.0.rc0.207.ga3a616c


LGTM

Reply via email to