Closed zekemorton closed 3 weeks ago
Addressed in merged PR noted above.
Note this from a comment in the PR: "we found that changing the interface for reapi_clit_t::match_allocate has bigger implications and the return behavior should be left as is. A non 0 return code represents an error when running the code rather than a failure to find a match. rq2 now determines if a match was found by checking errno for ENODEV, EBUSY, EINVAL, all of which indicate a failure to match."
Found a few bugs in
reapi_cli_t::match_allocate
at
is being used within the function to determine if the job spec was allocated or reserved, with no check for failure. Note that it seems likeat
does not get changed in case of failure, so if used in something like resource query, it will likely default to 0 to indicate allocated. A failed allocation will still create ajob_info_t
even though nothing has been scheduled and label it as allocated.jobspec
is meant to be a string representation of the job spec itself rather than the file name for the job spec. This makes it so thatjobspec_fn
cannot be set in thejob_info_t
for the job. This can possibly be addressed by changing the parameter or adding in anupdate_info_jobspec_fn
type of function toreapi_cli_t
. This is important for any tests that use resource query's info command to matchov
after thejob_info_t
is set, making the value always 0. This should be an easy fix with some reordering