Skip to content

Commit d7911cb

Browse files
committed
BF: CS-1053 with pe setting ign_sreq_on_mhost=true job having a slave request on a globally defined resource are not scheduled
1 parent 8dcc13f commit d7911cb

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

source/libs/sched/sge_select_queue.cc

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1538,7 +1538,6 @@ match_static_resource(int slots, lListElem *req_cplx, lListElem *src_cplx, dstri
15381538
*
15391539
*******************************************************************************/
15401540
static void clear_resource_tags(lList *resources, u_long32 max_tag) {
1541-
15421541
lListElem *attr;
15431542
for_each_rw (attr, resources) {
15441543
if (lGetUlong(attr, CE_tagged) <= max_tag) {
@@ -6501,9 +6500,16 @@ parallel_rc_slots_by_time(const sge_assignment_t *a, int *slots, int *slots_qend
65016500
(need_master || is_master_host) &&
65026501
lGetBool(a->pe, PE_ignore_slave_requests_on_master_host)) {
65036502
if (master_slot != 0) {
6504-
// we can run the master task here, ignore slave requests
6505-
DPRINTF("%s: parallel_rc_slots_by_time() ign_sreq_on_mhost TRUE\n", object_name);
6506-
continue;
6503+
if (strcmp(object_name, SGE_GLOBAL_NAME) == 0) {
6504+
// we are matching the global host here, need to do this in any case
6505+
// even if we are on the master host and ignore slave requests
6506+
// we need the result of the global matching when checking the next (slave) host
6507+
DPRINTF("%s: parallel_rc_slots_by_time() ign_sreq_on_mhost TRUE, but need to handle global resources\n", object_name);
6508+
} else {
6509+
// we can run the master task here, ignore slave request
6510+
DPRINTF("%s: parallel_rc_slots_by_time() ign_sreq_on_mhost TRUE, skipping check on master host/queue\n", object_name);
6511+
continue;
6512+
}
65076513
} else {
65086514
// we cannot run the master task here, try to use the host/the queue for slave tasks
65096515
DPRINTF("%s: parallel_rc_slots_by_time() ign_sreq_on_mhost TRUE but no master task, potential slave host\n",

0 commit comments

Comments
 (0)