projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
20647: Fix duplicate response headers via reverse proxy.
[arvados.git]
/
lib
/
controller
/
trash.go
diff --git
a/lib/controller/trash.go
b/lib/controller/trash.go
index 37c7be485924dda45b3be6bdc48ee0a09a85cb6f..99e7aec0b66c4dbed9462c498ece37e38971157b 100644
(file)
--- 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
}
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) {
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)
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 {
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.db
Connector.GetDB
(ctx)
if err != nil {
return err
}
if err != nil {
return err
}
@@
-49,7
+55,7
@@
func (h *Handler) containerLogSweepWorker() {
DELETE FROM logs
USING containers
WHERE logs.object_uuid=containers.uuid
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())
AND containers.log IS NOT NULL
AND now() - containers.finished_at > $1::interval`,
h.Cluster.Containers.Logging.MaxAge.String())