X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1f73a01c0d895811228025fefd430d9c40590175..0e60fbb5966fb7ec8518c4a06d80946c48d9222a:/lib/controller/trash.go diff --git a/lib/controller/trash.go b/lib/controller/trash.go index 37c7be4859..99e7aec0b6 100644 --- a/lib/controller/trash.go +++ b/lib/controller/trash.go @@ -20,10 +20,16 @@ func (h *Handler) periodicWorker(workerName string, interval time.Duration, lock logger.Debugf("interval is %v, not running worker", interval) return } - locker.Lock(ctx, h.db) + if !locker.Lock(ctx, h.dbConnector.GetDB) { + // context canceled + return + } defer locker.Unlock() for time.Sleep(interval); ctx.Err() == nil; time.Sleep(interval) { - locker.Check() + if !locker.Check() { + // context canceled + return + } err := run(ctx) if err != nil { logger.WithError(err).Infof("%s failed", workerName) @@ -41,7 +47,7 @@ func (h *Handler) trashSweepWorker() { func (h *Handler) containerLogSweepWorker() { h.periodicWorker("container log sweep", h.Cluster.Containers.Logging.SweepInterval.Duration(), dblock.ContainerLogSweep, func(ctx context.Context) error { - db, err := h.db(ctx) + db, err := h.dbConnector.GetDB(ctx) if err != nil { return err } @@ -49,7 +55,7 @@ func (h *Handler) containerLogSweepWorker() { DELETE FROM logs USING containers WHERE logs.object_uuid=containers.uuid - AND logs.event_type in ('stdout', 'stderr', 'arv-mount', 'crunch-run', 'crunchstat') + AND logs.event_type in ('stdout', 'stderr', 'arv-mount', 'crunch-run', 'crunchstat', 'hoststat', 'node', 'container', 'keepstore') AND containers.log IS NOT NULL AND now() - containers.finished_at > $1::interval`, h.Cluster.Containers.Logging.MaxAge.String())