Replace sets with lists, add manual deduplication logic #25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change comes about to mitigate a bug in the generation of
/etc/condor/UserToProjectMap.txt
on ospool-aps which causes nondeterministic behavior in htcondor featureAssignAccountingGroup
. The existing code base deduplicates lists of group IDs via python'sset
, which results in groups being written to the output file in arbitrary order.AssignAccountingGroup
then takes the first output group and assigns it as a ClassAd attribute, resulting in a different group being selected each time the project map is regenerated. A longer term fix will be to mark a certain group as "primary" for each user so that it can consistently be placed at the beginning of the list. Note that dictionary iteration is not guaranteed to be ordered in Python < 3.7, so this fix will only work on EPs on EL9+