Skip to content

BF: CS-910 updates of job priority and ticket values done by scheduler are not visible in qstat #42

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 2, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions source/daemons/qmaster/sge_follow.cc
Original file line number Diff line number Diff line change
Expand Up @@ -663,6 +663,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
lSetPosDouble(jatp, ja_pos->JAT_prio_pos, 0);
lSetPosDouble(jatp, ja_pos->JAT_ntix_pos, 0);
if (task_number != 0) { /* if task_number == 0, we only change the */
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
jatp = next_ja_task; /* pending tickets, otherwise all */
next_ja_task = lNextRW(next_ja_task);
} else {
Expand All @@ -686,6 +687,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
lSetDouble(jatp, JAT_prio, 0);
lSetDouble(jatp, JAT_ntix, 0);
if (task_number != 0) { /* if task_number == 0, we only change the */
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
jatp = next_ja_task; /* pending tickets, otherwise all */
next_ja_task = lNextRW(next_ja_task);
} else {
Expand All @@ -702,6 +704,8 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
}

sge_mutex_unlock("follow_last_update_mutex", __func__, __LINE__, &Follow_Control.last_update_mutex);
// @todo CS-913 we should have the tickets in sub-objects and have a ticket event having only the sub-object as data
sge_add_event(0, sgeE_JOB_MOD, job_number, 0, nullptr, nullptr, nullptr, jep, gdi_session);
}
break;

Expand Down Expand Up @@ -794,6 +798,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
lSetPosDouble(jatp, ja_pos->JAT_prio_pos, lGetPosDouble(joker_task, order_ja_pos->JAT_prio_pos));
lSetPosDouble(jatp, ja_pos->JAT_ntix_pos, lGetPosDouble(joker_task, order_ja_pos->JAT_ntix_pos));

// @todo do we really update the *job* values with every ja_task update?
lSetPosDouble(jep, job_pos->JB_nppri_pos, lGetPosDouble(joker, order_job_pos->JB_nppri_pos));
lSetPosDouble(jep, job_pos->JB_nurg_pos, lGetPosDouble(joker, order_job_pos->JB_nurg_pos));
lSetPosDouble(jep, job_pos->JB_urg_pos, lGetPosDouble(joker, order_job_pos->JB_urg_pos));
Expand All @@ -803,6 +808,8 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
}

sge_mutex_unlock("follow_last_update_mutex", __func__, __LINE__, &Follow_Control.last_update_mutex);
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
sge_add_event(0, sgeE_JOB_MOD, job_number, 0, nullptr, nullptr, nullptr, jep, gdi_session);

#if 0
DPRINTF(("PRIORITY: " sge_u32"." sge_u32" %f/%f tix/ntix %f npri %f/%f urg/nurg %f prio\n",
Expand All @@ -821,9 +828,9 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori


/* -----------------------------------------------------------------------
* CHANGE TICKETS OF RUNNING/TRANSFERING JOBS
* CHANGE TICKETS OF RUNNING/TRANSFERRING JOBS
*
* Our aim is to collect all ticket orders of an gdi request
* Our aim is to collect all ticket orders of a gdi request
* and to send ONE packet to each exec host. Here we just
* check the orders for consistency. They get forwarded to
* execd having checked all orders.
Expand Down Expand Up @@ -1006,6 +1013,8 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
sge_free(&rdp);
}
}
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
sge_add_event(0, sgeE_JOB_MOD, job_number, 0, nullptr, nullptr, nullptr, jep, gdi_session);
}
break;

Expand Down Expand Up @@ -1382,7 +1391,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
break;

/* -----------------------------------------------------------------------
* FILL IN SEVERAL SCHEDULING VALUES INTO QMASTERS SHARE TREE
* FILL IN SEVERAL SCHEDULING VALUES INTO QMASTER'S SHARE TREE
* TO BE DISPLAYED BY QMON AND OTHER CLIENTS
* ----------------------------------------------------------------------- */
case ORT_share_tree: {
Expand All @@ -1394,6 +1403,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
DPRINTF("ORDER: ORT_share_tree failed\n");
DRETURN(-1);
}
// @todo CS-911 don't we have to send an event here?
}
break;

Expand All @@ -1413,6 +1423,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
}
}
/* no need to spool sched conf */
// @todo CS-912 don't we have to send an event here?
}

break;
Expand Down
Loading