[torquedev] Setting extra_resc causes problem

Al Taufer ataufer at clusterresources.com
Wed Jun 17 17:47:16 MDT 2009


There seems to be a problem with both the 2.3 and trunk branches.  It seems like the resource_list can get messed up for jobs. The scenario is as follows:

echo "sleep 30" | qsub -l walltime=33:33:33
qmgr -c 's s extra_resc = garbage'
echo "sleep 30" | qsub -l walltime=33:33:33

The first job gets the correct walltime while the second job does not.  The problem seems to be that setting the extra_resc calls init_resc_defs() which recreates the svr_resc_def values. This prevents chk_svr_resc_limit() from matching up the resources.

The fix seems to be in attr_fn_resc.c function find_resc_entry().  If we change the following line from:
    if (pr->rs_defin == rscdf)
to:
    if (!strcmp(pr->rs_defin->rs_name, rscdf->rs_name))
then it seems to work fine.

Is there some reason we are checking to see if the rs_defin points to the same place as rscdf instead of just comparing the rs_name?

Al Taufer
Cluster Resources, Inc.


More information about the torquedev mailing list