Skip to content

Commit 0bc51a6

Browse files
committed
feat(pkg/runner): change runner's interface to return error
Signed-off-by: hainenber <[email protected]>
1 parent 7a73fc9 commit 0bc51a6

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

component/loki/source/docker/runner.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ func newTailer(l log.Logger, task *tailerTask) *tailer {
9494
}
9595
}
9696

97-
func (t *tailer) Run(ctx context.Context) {
97+
func (t *tailer) Run(ctx context.Context) error {
9898
ch, chErr := t.opts.client.ContainerWait(ctx, t.target.Name(), container.WaitConditionNextExit)
9999

100100
t.target.StartIfNotRunning()
@@ -108,10 +108,10 @@ func (t *tailer) Run(ctx context.Context) {
108108
// refresh.
109109
level.Error(t.log).Log("msg", "could not set up a wait request to the Docker client", "error", err)
110110
t.target.Stop()
111-
return
111+
return err
112112
case <-ch:
113113
t.target.Stop()
114-
return
114+
return nil
115115
}
116116
}
117117

component/loki/source/kubernetes/kubetail/tailer.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ var retailBackoff = backoff.Config{
8989
MaxBackoff: time.Minute,
9090
}
9191

92-
func (t *tailer) Run(ctx context.Context) {
92+
func (t *tailer) Run(ctx context.Context) error {
9393
ctx, cancel := context.WithCancel(ctx)
9494
defer cancel()
9595

@@ -111,18 +111,22 @@ func (t *tailer) Run(ctx context.Context) {
111111
terminated, err := t.containerTerminated(ctx)
112112
if terminated {
113113
// The container shut down and won't come back; we can stop tailing it.
114-
return
114+
return nil
115115
} else if err != nil {
116116
level.Warn(t.log).Log("msg", "could not determine if container terminated; will retry tailing", "err", err)
117+
return err
117118
}
118119
}
119120

120121
if err != nil {
121122
t.target.Report(time.Now().UTC(), err)
122123
level.Warn(t.log).Log("msg", "tailer stopped; will retry", "err", err)
124+
return err
123125
}
124126
bo.Wait()
125127
}
128+
129+
return nil
126130
}
127131

128132
func (t *tailer) tail(ctx context.Context, handler loki.EntryHandler) error {

component/loki/source/kubernetes_events/event_controller.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,15 +79,18 @@ func newEventController(task eventControllerTask) *eventController {
7979
}
8080
}
8181

82-
func (ctrl *eventController) Run(ctx context.Context) {
82+
func (ctrl *eventController) Run(ctx context.Context) error {
8383
defer ctrl.handler.Stop()
8484

8585
level.Info(ctrl.log).Log("msg", "watching events for namespace", "namespace", ctrl.task.Namespace)
8686
defer level.Info(ctrl.log).Log("msg", "stopping watcher for events", "namespace", ctrl.task.Namespace)
8787

8888
if err := ctrl.runError(ctx); err != nil {
8989
level.Error(ctrl.log).Log("msg", "event watcher exited with error", "err", err)
90+
return err
9091
}
92+
93+
return nil
9194
}
9295

9396
func (ctrl *eventController) runError(ctx context.Context) error {

pkg/runner/runner.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ type Worker interface {
3232
// Run starts a Worker, blocking until the provided ctx is canceled or a
3333
// fatal error occurs. Run is guaranteed to be called exactly once for any
3434
// given Worker.
35-
Run(ctx context.Context)
35+
Run(ctx context.Context) error
3636
}
3737

3838
// The Runner manages a set of running Workers based on an active set of tasks.

pkg/runner/runner_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,11 @@ type genericWorker struct {
101101

102102
var _ runner.Worker = (*genericWorker)(nil)
103103

104-
func (w *genericWorker) Run(ctx context.Context) {
104+
func (w *genericWorker) Run(ctx context.Context) error {
105105
w.workerCount.Inc()
106106
defer w.workerCount.Dec()
107107

108108
<-ctx.Done()
109+
110+
return nil
109111
}

0 commit comments

Comments
 (0)