Skip to content

Commit 24d1281

Browse files
committed
BF: CS-912: Changed scheduler configuration is not send to all data stores
1 parent 55fd9b9 commit 24d1281

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

source/daemons/qmaster/sge_follow.cc

+11-5
Original file line numberDiff line numberDiff line change
@@ -1418,6 +1418,7 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
14181418
DPRINTF("ORDER: ORT_share_tree failed\n");
14191419
DRETURN(-1);
14201420
}
1421+
14211422
// no need to spool but other data stores need to be updated
14221423
sge_add_event(now, sgeE_NEW_SHARETREE, 0, 0, nullptr, nullptr,
14231424
nullptr, lFirstRW(master_stree_list), gdi_session);
@@ -1433,12 +1434,17 @@ sge_follow_order(lListElem *ep, char *ruser, char *rhost, lList **topp, monitori
14331434
if (sconf_is()) {
14341435
if (const lListElem *joker = lFirst(lGetList(ep, OR_joker)); joker != nullptr) {
14351436
if (int pos = lGetPosViaElem(joker, SC_weight_tickets_override, SGE_NO_ABORT); pos > -1) {
1436-
sconf_set_weight_tickets_override(lGetPosUlong(joker, pos));
1437+
u_long32 old_wto = sconf_get_weight_tickets_override();
1438+
u_long32 new_wto = lGetPosUlong(joker, pos);
1439+
1440+
if (old_wto != new_wto) {
1441+
sconf_set_weight_tickets_override(new_wto);
14371442

1438-
// no need to spool but other data stores need to be updated
1439-
lListElem *sconfig = lFirstRW(*ocs::DataStore::get_master_list(SGE_TYPE_SCHEDD_CONF));
1440-
sge_add_event(now, sgeE_SCHED_CONF, 0, 0,
1441-
"schedd_conf", nullptr, nullptr, sconfig, gdi_session);
1443+
// no need to spool but other data stores need to be updated
1444+
lListElem *sconfig = lFirstRW(*ocs::DataStore::get_master_list(SGE_TYPE_SCHEDD_CONF));
1445+
sge_add_event(now, sgeE_SCHED_CONF, 0, 0,
1446+
"schedd_conf", nullptr, nullptr, sconfig, gdi_session);
1447+
}
14421448
}
14431449
}
14441450
}

0 commit comments

Comments
 (0)