From 62c53950ec7a4afba682852f760b871db71432e5 Mon Sep 17 00:00:00 2001 From: Eduardo Cuducos <4732915+cuducos@users.noreply.github.com> Date: Tue, 21 Apr 2026 16:57:38 -0400 Subject: [PATCH 1/3] Adds custom logger to `backfill` --- backfill/backfill.go | 13 +++++++++---- backfill/gormstore.go | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backfill/backfill.go b/backfill/backfill.go index 85377cb8..66543201 100644 --- a/backfill/backfill.go +++ b/backfill/backfill.go @@ -196,11 +196,11 @@ func NewBackfiller( } } -// Start starts the backfill processor routine -func (b *Backfiller) Start() { +// StartWithLogger starts the backfill processor routine with a custom logger +func (b *Backfiller) StartWithLogger(log *slog.Logger) { ctx := context.Background() - log := slog.With("source", "backfiller", "name", b.Name) + log = log.With("source", "backfiller", "name", b.Name) log.Info("starting backfill processor") sem := semaphore.NewWeighted(int64(b.ParallelBackfills)) @@ -265,6 +265,11 @@ func (b *Backfiller) Start() { } } +// Start starts the backfill processor routine +func (b *Backfiller) Start() { + b.StartWithLogger(slog.Default()) +} + // Stop stops the backfill processor func (b *Backfiller) Stop(ctx context.Context) error { log := slog.With("source", "backfiller", "name", b.Name) @@ -351,7 +356,7 @@ type FetchRepoError struct { } func (e *FetchRepoError) Error() string { - reason := "unknown error" + var reason string if e.StatusCode == http.StatusBadRequest { reason = "repo not found" } else { diff --git a/backfill/gormstore.go b/backfill/gormstore.go index 514e5756..e3c394a4 100644 --- a/backfill/gormstore.go +++ b/backfill/gormstore.go @@ -71,7 +71,7 @@ func (s *Gormstore) loadJobs(ctx context.Context, limit int) error { retryableIndexClause := "" // If the DB is a SQLite DB, we can use INDEXED BY to speed up the query - if s.db.Dialector.Name() == "sqlite" { + if s.db.Name() == "sqlite" { enqueuedIndexClause = "INDEXED BY enqueued_job_idx" retryableIndexClause = "INDEXED BY retryable_job_idx" } -- 2.51.2 From 7a0628eaf83b8084f4996509e1931229b56dc09f Mon Sep 17 00:00:00 2001 From: Eduardo Cuducos <4732915+cuducos@users.noreply.github.com> Date: Wed, 22 Apr 2026 15:07:48 -0400 Subject: [PATCH 2/3] Uses custom logger on `Stop` too --- backfill/backfill.go | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/backfill/backfill.go b/backfill/backfill.go index 66543201..d7bbd870 100644 --- a/backfill/backfill.go +++ b/backfill/backfill.go @@ -94,6 +94,8 @@ type Backfiller struct { stop chan chan struct{} + log *slog.Logger + Directory identity.Directory } @@ -200,15 +202,15 @@ func NewBackfiller( func (b *Backfiller) StartWithLogger(log *slog.Logger) { ctx := context.Background() - log = log.With("source", "backfiller", "name", b.Name) - log.Info("starting backfill processor") + b.log = log.With("source", "backfiller", "name", b.Name) + b.log.Info("starting backfill processor") sem := semaphore.NewWeighted(int64(b.ParallelBackfills)) for { select { case stopped := <-b.stop: - log.Info("stopping backfill processor") + b.log.Info("stopping backfill processor") sem.Acquire(ctx, int64(b.ParallelBackfills)) close(stopped) return @@ -219,7 +221,7 @@ func (b *Backfiller) StartWithLogger(log *slog.Logger) { dequeueStart := time.Now() job, err := b.Store.GetNextEnqueuedJob(ctx) if err != nil { - log.Error("failed to get next enqueued job", "error", err) + b.log.Error("failed to get next enqueued job", "error", err) time.Sleep(1 * time.Second) continue } else if job == nil { @@ -228,7 +230,7 @@ func (b *Backfiller) StartWithLogger(log *slog.Logger) { } backfillDispatchSeconds.WithLabelValues(b.Name, "dequeue").Observe(time.Since(dequeueStart).Seconds()) - log := log.With("repo", job.Repo()) + log := b.log.With("repo", job.Repo()) // Mark the backfill as "in progress" setStateStart := time.Now() @@ -272,13 +274,16 @@ func (b *Backfiller) Start() { // Stop stops the backfill processor func (b *Backfiller) Stop(ctx context.Context) error { - log := slog.With("source", "backfiller", "name", b.Name) - log.Info("stopping backfill processor") + if b.log != nil { + b.log.Info("stopping backfill processor") + } stopped := make(chan struct{}) b.stop <- stopped select { case <-stopped: - log.Info("backfill processor stopped") + if b.log != nil { + b.log.Info("backfill processor stopped") + } return nil case <-ctx.Done(): return ctx.Err() -- 2.51.2 From 61bf5b636baf958c666af705a4ce185c25fc8e38 Mon Sep 17 00:00:00 2001 From: Eduardo Cuducos <4732915+cuducos@users.noreply.github.com> Date: Wed, 22 Apr 2026 15:11:20 -0400 Subject: [PATCH 3/3] Assures we have a logger --- backfill/backfill.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/backfill/backfill.go b/backfill/backfill.go index d7bbd870..a5b9cd77 100644 --- a/backfill/backfill.go +++ b/backfill/backfill.go @@ -202,6 +202,9 @@ func NewBackfiller( func (b *Backfiller) StartWithLogger(log *slog.Logger) { ctx := context.Background() + if log == nil { + log = slog.Default() + } b.log = log.With("source", "backfiller", "name", b.Name) b.log.Info("starting backfill processor") -- 2.51.2