From 5e473e8b37ebcde22854c4f033c92981aaa3d2f9 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 26 Mar 2021 12:15:40 +0100 Subject: [PATCH] main(): don't panic on (intentional) context cancel --- cmd/icingadb/main.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cmd/icingadb/main.go b/cmd/icingadb/main.go index 73d46c4f..ae22ba9b 100644 --- a/cmd/icingadb/main.go +++ b/cmd/icingadb/main.go @@ -9,6 +9,7 @@ import ( "github.com/icinga/icingadb/pkg/icingadb/history" v1 "github.com/icinga/icingadb/pkg/icingadb/v1" "github.com/icinga/icingadb/pkg/icingaredis" + "github.com/icinga/icingadb/pkg/utils" "github.com/pkg/errors" "golang.org/x/sync/errgroup" ) @@ -118,9 +119,7 @@ func main() { return hs.Sync(synctx) }) - if err := g.Wait(); err != nil { - // TODO(el): This panics here even if a ctx gets cancelled. - // That is intentional for the moment for testing. + if err := g.Wait(); err != nil && !utils.IsContextCanceled(err) { panic(err) } @@ -130,7 +129,7 @@ func main() { case <-ha.Handover(): cancel() case <-ctx.Done(): - if err := ctx.Err(); err != nil { + if err := ctx.Err(); err != nil && !utils.IsContextCanceled(err) { panic(err) } case <-done: