diff --git a/go.mod b/go.mod index f1cad1948..5e982546b 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/goccy/go-yaml v1.13.0 github.com/google/go-cmp v0.7.0 github.com/google/uuid v1.6.0 - github.com/icinga/icinga-go-library v0.9.0 + github.com/icinga/icinga-go-library v0.9.1-0.20260312084818-33ec4e1fdde3 // https://github.com/Icinga/icinga-go-library/pull/188 github.com/jessevdk/go-flags v1.6.1 github.com/jmoiron/sqlx v1.4.0 github.com/mattn/go-sqlite3 v1.14.34 diff --git a/go.sum b/go.sum index 1835d16cf..e2db874e7 100644 --- a/go.sum +++ b/go.sum @@ -38,8 +38,8 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/icinga/icinga-go-library v0.9.0 h1:U0zpgpRIjO2gEwlTkHCHGgvW+ZuZeb2W7R6OGcnkGTI= -github.com/icinga/icinga-go-library v0.9.0/go.mod h1:7vvur6e1MOsM50oeYBYLkxA7H1F1ZCS0anZfG11kYgY= +github.com/icinga/icinga-go-library v0.9.1-0.20260312084818-33ec4e1fdde3 h1:V56xxmZSLK7iR3/6CsO3ULEA0Yrbid8//jveQtRRdGI= +github.com/icinga/icinga-go-library v0.9.1-0.20260312084818-33ec4e1fdde3/go.mod h1:CeuGxuaiyRlkbQbUPZF4h0lawQDz3iyOP4MntsY0fDs= github.com/jessevdk/go-flags v1.6.1 h1:Cvu5U8UGrLay1rZfv/zP7iLpSHGUZ/Ou68T0iX1bBK4= github.com/jessevdk/go-flags v1.6.1/go.mod h1:Mk8T1hIAWpOiJiHa9rJASDK2UGWji0EuPGBnNLMooyc= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= diff --git a/pkg/icingadb/sync.go b/pkg/icingadb/sync.go index b353c7848..da2b54d10 100644 --- a/pkg/icingadb/sync.go +++ b/pkg/icingadb/sync.go @@ -78,7 +78,7 @@ func (s Sync) Sync(ctx context.Context, subject *common.SyncSubject) error { desired, redisErrs := icingaredis.YieldAll(ctx, s.redis, subject) // Let errors from Redis cancel our group. - com.ErrgroupReceive(g, redisErrs) + com.ErrgroupReceiveWrap(g, redisErrs, "can't yield %q from redis for sync", subject.Name()) e, ok := v1.EnvironmentFromContext(ctx) if !ok { @@ -90,7 +90,7 @@ func (s Sync) Sync(ctx context.Context, subject *common.SyncSubject) error { s.db.BuildSelectStmt(NewScopedEntity(subject.Entity(), e.Meta()), subject.Entity().Fingerprint()), e.Meta(), ) // Let errors from DB cancel our group. - com.ErrgroupReceive(g, dbErrs) + com.ErrgroupReceiveWrap(g, dbErrs, "can't yield %q from database for sync", subject.Name()) g.Go(func() error { return s.ApplyDelta(ctx, NewDelta(ctx, actual, desired, subject, s.logger)) @@ -191,7 +191,7 @@ func (s Sync) SyncCustomvars(ctx context.Context) error { cv := common.NewSyncSubject(v1.NewCustomvar) cvs, errs := icingaredis.YieldAll(ctx, s.redis, cv) - com.ErrgroupReceive(g, errs) + com.ErrgroupReceiveWrap(g, errs, "can't yield %q from redis for custom var sync", cv.Name()) desiredCvs, desiredFlatCvs, errs := v1.ExpandCustomvars(ctx, cvs) com.ErrgroupReceive(g, errs) @@ -200,7 +200,7 @@ func (s Sync) SyncCustomvars(ctx context.Context) error { ctx, cv.FactoryForDelta(), s.db.BuildSelectStmt(NewScopedEntity(cv.Entity(), e.Meta()), cv.Entity().Fingerprint()), e.Meta(), ) - com.ErrgroupReceive(g, errs) + com.ErrgroupReceiveWrap(g, errs, "can't yield %q from database", cv.Name()) g.Go(func() error { return s.ApplyDelta(ctx, NewDelta(ctx, actualCvs, desiredCvs, cv, s.logger)) @@ -212,7 +212,7 @@ func (s Sync) SyncCustomvars(ctx context.Context) error { ctx, flatCv.FactoryForDelta(), s.db.BuildSelectStmt(NewScopedEntity(flatCv.Entity(), e.Meta()), flatCv.Entity().Fingerprint()), e.Meta(), ) - com.ErrgroupReceive(g, errs) + com.ErrgroupReceiveWrap(g, errs, "can't yield %q from database for custom var sync", flatCv.Name()) g.Go(func() error { return s.ApplyDelta(ctx, NewDelta(ctx, actualFlatCvs, desiredFlatCvs, flatCv, s.logger))