@@ -1538,7 +1538,6 @@ match_static_resource(int slots, lListElem *req_cplx, lListElem *src_cplx, dstri
15381538*
15391539*******************************************************************************/
15401540static 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