Hide Forgot
autocluster size can be used to limit matchlist. There is no reason to build matchlist when autocluster size is 1. Similarly, the size of matchlist can be limited to autocluster size.
Created attachment 505850 [details] matchlist limit patch This patch is a work in progress, but I wanted to get it in a bz in case I get side tracked. The patch adds a size_array to manage size information in the autocluster class. The size information is attached to the request ad during negotiation and sent to the negotiator. If size == 1 matchlist is not built. Otherwise size of matchlist is limited by the size of the autocluster.
upstream https://condor-wiki.cs.wisc.edu/index.cgi/tktview?tn=2258
A side note with respect to this is the requirement for the schedd to provide submissions to the negotiator in cluster id order. Two non-consecutive clusters (say ids 1 and 3) can be in the same autocluster. If the first submission, cluster 1, results in "no match found", the schedd still sends cluster 3. The usefulness of matchlist is dependent upon whether consecutive submissions are in the same autocluster. There seems to be 4 areas of wasted effort: a) matchlist built when autoclustersize=1 b) matchlist > autoclustersize is built c) cluster 1 matches, but matchlist is thrown away because cluster 2 is a different autocluster. Matchlist built when next submission in priorec is in different autocluster d) cluster 1 doesn't match, but the schedd still sends cluster 3. schedd doesn't prune priorec or skip autocluster ids that don't match.
I have a patch for a,b,c. Interestingly, d) is already implemented in code. The autocluster numbers are stashed via a hash and each new autocluster id is checked. But, the customer logs indicate that the code isn't working. I've got some new logs to look at and hopefully I'll find out what is going on.
upstream: https://condor-wiki.cs.wisc.edu/index.cgi/tktview?tn=2258 https://condor-wiki.cs.wisc.edu/index.cgi/tktview?tn=2305