File tree 2 files changed +12
-6
lines changed
2 files changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -48,14 +48,15 @@ func (alloc *preemptAction) Execute(ssn *framework.Session) {
48
48
preemptorTasks := map [api.JobID ]* util.PriorityQueue {}
49
49
50
50
var underRequest []* api.JobInfo
51
- var queues []* api.QueueInfo
51
+ queues := map [api.QueueID ]* api.QueueInfo {}
52
+
52
53
for _ , job := range ssn .Jobs {
53
54
if queue , found := ssn .QueueIndex [job .Queue ]; ! found {
54
55
continue
55
- } else {
56
+ } else if _ , existed := queues [ queue . UID ]; ! existed {
56
57
glog .V (3 ).Infof ("Added Queue <%s> for Job <%s/%s>" ,
57
58
queue .Name , job .Namespace , job .Name )
58
- queues = append ( queues , queue )
59
+ queues [ queue . UID ] = queue
59
60
}
60
61
61
62
if len (job .TaskStatusIndex [api .Pending ]) != 0 {
Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ func (alloc *reclaimAction) Execute(ssn *framework.Session) {
43
43
defer glog .V (3 ).Infof ("Leaving Reclaim ..." )
44
44
45
45
queues := util .NewPriorityQueue (ssn .QueueOrderFn )
46
+ queueMap := map [api.QueueID ]* api.QueueInfo {}
46
47
47
48
preemptorsMap := map [api.QueueID ]* util.PriorityQueue {}
48
49
preemptorTasks := map [api.JobID ]* util.PriorityQueue {}
@@ -57,9 +58,13 @@ func (alloc *reclaimAction) Execute(ssn *framework.Session) {
57
58
job .Queue , job .Namespace , job .Name )
58
59
continue
59
60
} else {
60
- glog .V (4 ).Infof ("Added Queue <%s> for Job <%s/%s>" ,
61
- queue .Name , job .Namespace , job .Name )
62
- queues .Push (queue )
61
+ if _ , existed := queueMap [queue .UID ]; ! existed {
62
+ glog .V (4 ).Infof ("Added Queue <%s> for Job <%s/%s>" ,
63
+ queue .Name , job .Namespace , job .Name )
64
+
65
+ queueMap [queue .UID ] = queue
66
+ queues .Push (queue )
67
+ }
63
68
}
64
69
65
70
if len (job .TaskStatusIndex [api .Pending ]) != 0 {
You can’t perform that action at this time.
0 commit comments