X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9a7e2a24f5f3d261e554ac3815b7e2a4c2e24503..ecf1cbf6b843ec566890b4bf944fb893ca9481de:/lib/dispatchcloud/scheduler/sync.go diff --git a/lib/dispatchcloud/scheduler/sync.go b/lib/dispatchcloud/scheduler/sync.go index 99bee484c6..de69df9822 100644 --- a/lib/dispatchcloud/scheduler/sync.go +++ b/lib/dispatchcloud/scheduler/sync.go @@ -7,8 +7,8 @@ package scheduler import ( "fmt" - "git.curoverse.com/arvados.git/lib/dispatchcloud/container" - "git.curoverse.com/arvados.git/sdk/go/arvados" + "git.arvados.org/arvados.git/lib/dispatchcloud/container" + "git.arvados.org/arvados.git/sdk/go/arvados" "github.com/sirupsen/logrus" ) @@ -51,7 +51,7 @@ func (sch *Scheduler) sync() { sch.logger.WithFields(logrus.Fields{ "ContainerUUID": uuid, "State": ent.Container.State, - }).Info("container finished") + }).Info("container finished -- dropping from queue") sch.queue.Forget(uuid) } case arvados.ContainerStateQueued: @@ -61,6 +61,13 @@ func (sch *Scheduler) sync() { // preparing to run a container that // has already been unlocked/requeued. go sch.kill(uuid, fmt.Sprintf("state=%s", ent.Container.State)) + } else if ent.Container.Priority == 0 { + sch.logger.WithFields(logrus.Fields{ + "ContainerUUID": uuid, + "State": ent.Container.State, + "Priority": ent.Container.Priority, + }).Info("container on hold -- dropping from queue") + sch.queue.Forget(uuid) } case arvados.ContainerStateLocked: if running && !exited.IsZero() && qUpdated.After(exited) { @@ -99,6 +106,7 @@ func (sch *Scheduler) cancel(uuid string, reason string) { func (sch *Scheduler) kill(uuid string, reason string) { sch.pool.KillContainer(uuid, reason) + sch.pool.ForgetContainer(uuid) } func (sch *Scheduler) requeue(ent container.QueueEnt, reason string) {