Merge branch 'main' into 18842-arv-mount-disk-config
[arvados.git] / lib / controller / trash.go
index 37c7be485924dda45b3be6bdc48ee0a09a85cb6f..99e7aec0b66c4dbed9462c498ece37e38971157b 100644 (file)
@@ -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())