Skip to content

Commit fa29aa6

Browse files
committed
BF: CS-1228: unsuspend on threshold fails to set QU_last_suspend_threshold_ckeck
1 parent 7f6c55e commit fa29aa6

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

source/daemons/qmaster/sge_follow.cc

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,8 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
207207
u_long32 pe_slots = 0, q_slots = 0, q_version;
208208
lListElem *pe = nullptr;
209209
bool is_spool = do_stree_spooling();
210-
210+
u_long64 now = sge_get_gmt64();
211+
211212
or_type = lGetUlong(ep, OR_type);
212213
or_pe = lGetString(ep, OR_pe);
213214

@@ -310,7 +311,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
310311
DRETURN(-2);
311312
}
312313
lSetUlong64(jatp, JAT_wallclock_limit,
313-
lGetUlong64(ar, AR_end_time) - sge_get_gmt64() - sge_gmt32_to_gmt64(sconf_get_duration_offset()));
314+
lGetUlong64(ar, AR_end_time) - now - sge_gmt32_to_gmt64(sconf_get_duration_offset()));
314315
}
315316

316317
/* fill number of tickets into job */
@@ -614,7 +615,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
614615
}
615616

616617
// @todo: can this be summaized with the mod event that will set the job in t-state?
617-
sge_add_event(0, sgeE_JATASK_ADD, job_number, task_number,
618+
sge_add_event(now, sgeE_JATASK_ADD, job_number, task_number,
618619
nullptr, nullptr, lGetString(jep, JB_session), jatp, gdi_session);
619620

620621
if (sge_give_job(jep, jatp, master_qep, master_host, monitor, gdi_session)) {
@@ -646,15 +647,15 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
646647

647648
/* set timeout for job resend */
648649
if (mconf_get_simulate_execds()) {
649-
trigger_job_resend(sge_get_gmt64(), master_host, job_number, task_number, 1);
650+
trigger_job_resend(now, master_host, job_number, task_number, 1);
650651
} else {
651-
trigger_job_resend(sge_get_gmt64(), master_host, job_number, task_number, 5);
652+
trigger_job_resend(now, master_host, job_number, task_number, 5);
652653
}
653654

654655
if (pe != nullptr) {
655656
pe_debit_slots(pe, pe_slots, job_number);
656657
/* this info is not spooled */
657-
sge_add_event(0, sgeE_PE_MOD, 0, 0, lGetString(jatp, JAT_granted_pe), nullptr, nullptr, pe, gdi_session);
658+
sge_add_event(now, sgeE_PE_MOD, 0, 0, lGetString(jatp, JAT_granted_pe), nullptr, nullptr, pe, gdi_session);
658659
}
659660

660661
DPRINTF("successfully handed off job \"" sge_u32 "\" to queue \"%s\"\n",
@@ -719,7 +720,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
719720
lSetPosDouble(jatp, ja_pos->JAT_prio_pos, 0);
720721
lSetPosDouble(jatp, ja_pos->JAT_ntix_pos, 0);
721722
if (task_number != 0) { /* if task_number == 0, we only change the */
722-
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
723+
sge_add_event(now, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
723724
jatp = next_ja_task; /* pending tickets, otherwise all */
724725
next_ja_task = lNextRW(next_ja_task);
725726
} else {
@@ -742,7 +743,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
742743
lSetDouble(jatp, JAT_prio, 0);
743744
lSetDouble(jatp, JAT_ntix, 0);
744745
if (task_number != 0) { /* if task_number == 0, we only change the */
745-
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
746+
sge_add_event(now, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
746747
jatp = next_ja_task; /* pending tickets, otherwise all */
747748
next_ja_task = lNextRW(next_ja_task);
748749
} else {
@@ -759,7 +760,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
759760

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

@@ -810,7 +811,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
810811

811812
if (jatp == nullptr) {
812813
ERROR(MSG_JOB_FINDJOBTASK_UU, task_number, job_number);
813-
sge_add_event(0, sgeE_JATASK_DEL, job_number, task_number,
814+
sge_add_event(now, sgeE_JATASK_DEL, job_number, task_number,
814815
nullptr, nullptr, lGetString(jep, JB_session), nullptr, gdi_session);
815816
DRETURN(-2);
816817
}
@@ -864,9 +865,9 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
864865

865866
sge_mutex_unlock("follow_last_update_mutex", __func__, __LINE__, &Follow_Control.last_update_mutex);
866867
if (send_task_event) {
867-
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
868+
sge_add_event(now, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
868869
}
869-
sge_add_event(0, sgeE_JOB_MOD, job_number, 0, nullptr, nullptr, nullptr, jep, gdi_session);
870+
sge_add_event(now, sgeE_JOB_MOD, job_number, 0, nullptr, nullptr, nullptr, jep, gdi_session);
870871

871872
#if 0
872873
DPRINTF(("PRIORITY: " sge_u32 "." sge_u32" %f/%f tix/ntix %f npri %f/%f urg/nurg %f prio\n",
@@ -921,7 +922,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
921922
jatp = job_search_task(jep, nullptr, task_number);
922923
if (jatp == nullptr) {
923924
ERROR(MSG_JOB_FINDJOBTASK_UU, task_number, job_number);
924-
sge_add_event(0, sgeE_JATASK_DEL, job_number, task_number, nullptr, nullptr, lGetString(jep, JB_session), nullptr, gdi_session);
925+
sge_add_event(now, sgeE_JATASK_DEL, job_number, task_number, nullptr, nullptr, lGetString(jep, JB_session), nullptr, gdi_session);
925926
DRETURN(-2);
926927
}
927928

@@ -1068,8 +1069,8 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
10681069
sge_free(&rdp);
10691070
}
10701071
}
1071-
sge_add_event(0, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
1072-
sge_add_event(0, sgeE_JOB_MOD, job_number, 0, nullptr, nullptr, nullptr, jep, gdi_session);
1072+
sge_add_event(now, sgeE_JATASK_MOD, job_number, task_number, nullptr, nullptr, nullptr, jatp, gdi_session);
1073+
sge_add_event(now, sgeE_JOB_MOD, job_number, 0, nullptr, nullptr, nullptr, jep, gdi_session);
10731074
}
10741075
break;
10751076

@@ -1107,7 +1108,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
11071108
if (or_type == ORT_remove_job) {
11081109
ERROR(MSG_JOB_FINDJOB_U, job_number);
11091110
/* try to repair schedd data - session is unknown here */
1110-
sge_add_event(0, sgeE_JOB_DEL, job_number, task_number, nullptr, nullptr, nullptr, nullptr, gdi_session);
1111+
sge_add_event(now, sgeE_JOB_DEL, job_number, task_number, nullptr, nullptr, nullptr, nullptr, gdi_session);
11111112
DRETURN(-1);
11121113
} else {
11131114
/* in case of an immediate parallel job the job could be missing */
@@ -1415,7 +1416,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
14151416
DRETURN(-1);
14161417
}
14171418
// @todo CS-911 don't we have to send an event here?
1418-
// sge_add_event(0, sgeE_NEW_SHARETREE, 0, 0, nullptr, nullptr, nullptr, lFirstRW(master_stree_list), gdi_session);
1419+
// sge_add_event(now, sgeE_NEW_SHARETREE, 0, 0, nullptr, nullptr, nullptr, lFirstRW(master_stree_list), gdi_session);
14191420
}
14201421
break;
14211422

@@ -1485,7 +1486,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
14851486
}
14861487

14871488
/* update queues time stamp in schedd */
1488-
lSetUlong64(queueep, QU_last_suspend_threshold_ckeck, sge_get_gmt64());
1489+
lSetUlong64(queueep, QU_last_suspend_threshold_ckeck, now);
14891490
qinstance_add_event(queueep, sgeE_QINSTANCE_MOD, gdi_session);
14901491
}
14911492
}
@@ -1534,7 +1535,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
15341535
answer_list_output(&answer_list);
15351536
}
15361537
/* update queues time stamp in schedd */
1537-
lSetUlong(queueep, QU_last_suspend_threshold_ckeck, sge_get_gmt64());
1538+
lSetUlong64(queueep, QU_last_suspend_threshold_ckeck, now);
15381539
qinstance_add_event(queueep, sgeE_QINSTANCE_MOD, gdi_session);
15391540
}
15401541
}
@@ -1564,7 +1565,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
15641565
lAppendElem(*master_job_schedd_info_list, sme);
15651566

15661567
/* this information is not spooled (but might be usefull in a db) */
1567-
sge_add_event(0, sgeE_JOB_SCHEDD_INFO_MOD, 0, 0, nullptr, nullptr, nullptr, sme, gdi_session);
1568+
sge_add_event(now, sgeE_JOB_SCHEDD_INFO_MOD, 0, 0, nullptr, nullptr, nullptr, sme, gdi_session);
15681569
}
15691570
}
15701571
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy