Restore dependent job pointers on slurmctld startup to avoid race
dep_ptr->job_ptr is set in update_job_dependency() and in test_job_dependency(), and is required to test for circular dependencies in _scan_depend(). On slurmctld startup, we weren't restoring that because it would just be set in test_job_dependency(), which is called whenever Slurm tries to schedule a job. However, if a job dependency was updated before that then dep_ptr->job_ptr wasn't initialized for all jobs, and therefore it was possible to create a circular dependency. Bug 8492
Loading
Please register or sign in to comment