diff --git a/daemon/job/active.go b/daemon/job/active.go index f6e2ecf..961d5c9 100644 --- a/daemon/job/active.go +++ b/daemon/job/active.go @@ -356,6 +356,7 @@ func (j *ActiveSide) do(ctx context.Context) { }) log.Info("start pruning sender") tasks.prunerSender.Prune() + log.Info("finished pruning sender") senderCancel() } { @@ -371,6 +372,7 @@ func (j *ActiveSide) do(ctx context.Context) { }) log.Info("start pruning receiver") tasks.prunerReceiver.Prune() + log.Info("finished pruning receiver") receiverCancel() } } diff --git a/daemon/pruner/pruner.go b/daemon/pruner/pruner.go index 23c137f..e30b2c4 100644 --- a/daemon/pruner/pruner.go +++ b/daemon/pruner/pruner.go @@ -203,6 +203,12 @@ func (p *Pruner) prune(args args) { GetLogger(args.ctx). WithField("transition", fmt.Sprintf("%s=>%s", pre, post)). Debug("state transition") + if err := p.Error(); err != nil { + GetLogger(args.ctx). + WithError(p.err). + WithField("state", post.String()). + Error("entering error state after error") + } } } @@ -262,6 +268,15 @@ func (p *Pruner) State() State { return p.state } +func (p *Pruner) Error() error { + p.mtx.Lock() + defer p.mtx.Unlock() + if p.state & (PlanWait|ExecWait|ErrPerm) != 0 { + return p.err + } + return nil +} + type fs struct { path string