Skip to content

NoneType Exception When Queuing Jobs #138

@chriswailes

Description

@chriswailes

Expected Behavior

When using Redis with VM ReUse enabled the server should continue to process jobs.

Actual Behavior

After some combination of job submissions takes place the jobManager will produce the following error:

DEBUG|2017-09-24 16:58:32,713|JobQueue|get| Acquired lock to job queue.
DEBUG|2017-09-24 16:58:32,724|JobQueue|get| Released lock to job queue.
Starting the stand-alone Tango JobManager
Traceback (most recent call last):
  File "jobManager.py", line 125, in <module>
    jobs.run()
  File "jobManager.py", line 45, in run
    self.__manage()
  File "jobManager.py", line 105, in __manage
    self.jobQueue.makeDead(job.id, str(err))
AttributeError: 'NoneType' object has no attribute 'id'

Steps to Reproduce the Behavior

Run the Tango job manager with Redis and VM ReUse.

Additional Details

The error appears to be the result of getNextPendingJobReuse returning (None, None) at jobManager.py:66. This then results in the next line trying to retrieve a job using None as an ID. This results in an exception and the variable job holding the value None. Next, the exception handler at jobManager.py:105 attempts to mark the job as dead. Unfortunately, because job is None the above error is raised.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions