Fixed corner case bug with sorting of tasks. Not sorting if there are no more tasks to schedule.

This commit is contained in:
Pradyumna Kaushik 2016-12-01 18:31:49 -05:00 committed by Renan DelValle
parent 57b2756fc6
commit f55169c91c

View file

@ -244,7 +244,7 @@ func (s *ProactiveClusterwideCapRanked) stopRecapping() {
} }
} }
func (s *ProactiveClusterwideCapRanked) ResouceOffers(driver sched.SchedulerDriver, offers []*mesos.Offer) { func (s *ProactiveClusterwideCapRanked) ResourceOffers(driver sched.SchedulerDriver, offers []*mesos.Offer) {
log.Printf("Received %d resource offers", len(offers)) log.Printf("Received %d resource offers", len(offers))
// retrieving the available power for all the hosts in the offers. // retrieving the available power for all the hosts in the offers.
@ -262,14 +262,15 @@ func (s *ProactiveClusterwideCapRanked) ResouceOffers(driver sched.SchedulerDriv
} }
// sorting the tasks in ascending order of watts. // sorting the tasks in ascending order of watts.
s.capper.sortTasks(&s.tasks) if (len(s.tasks) > 0) {
// displaying the ranked tasks. s.capper.sortTasks(&s.tasks)
log.Println("The ranked tasks are:\n---------------------\n\t[") // calculating the total number of tasks ranked.
for rank, task := range s.tasks { numberOfRankedTasks := 0
log.Printf("\t\t%d: %s\n", rank+1, task.TaskID) for _, task := range s.tasks {
numberOfRankedTasks += *task.Instances
}
log.Printf("Ranked %d tasks in ascending order of tasks.", numberOfRankedTasks)
} }
log.Println("\t]")
for _, offer := range offers { for _, offer := range offers {
select { select {
case <-s.Shutdown: case <-s.Shutdown: