With Multifactor Priority and Fairshare configured, if slurmctld is restarted the priorities of pending jobs may be incorrect until PriorityCalcPeriod has expired. This can cause incorrect scheduling. The problem is that the Fairshare priority is not calculated correctly the first time through the _decay_thread loop in priority_multifactor.c. I think the problem is that _set_children_usage_efctv is not called in the right place, so the effective usage for child accounts is not updated until the second time through the loop.
The attached patch fixes the problem for 2.4.0-pre2. Regards, Martin
fairsharepriofix.patch
Description: Binary data
