10000 OAS-9996 Better panic handling (#1706) · arangodb/kube-arangodb@91793bc · GitHub
[go: up one dir, main page]

Skip to content

Commit 91793bc

Browse files
authored
OAS-9996 Better panic handling (#1706)
1 parent f2daa8a commit 91793bc

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
- (Feature) Gateway config loader
1616
- (Feature) ConfigV1 Integration Service
1717
- (Feature) Integration Service Authentication
18+
- (Improvement) Better panic handling
1819

1920
## [1.2.42](https://github.com/arangodb/kube-arangodb/tree/1.2.42) (2024-07-23)
2021
- (Maintenance) Go 1.22.4 & Kubernetes 1.29.6 libraries

pkg/util/k8sutil/informer.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//
22
// DISCLAIMER
33
//
4-
// Copyright 2016-2022 ArangoDB GmbH, Cologne, Germany
4+
// Copyright 2016-2024 ArangoDB GmbH, Cologne, Germany
55
//
66
// Licensed under the Apache License, Version 2.0 (the "License");
77
// you may not use this file except in compliance with the License.
@@ -21,6 +21,8 @@
2121
package k8sutil
2222

2323
import (
24+
"runtime/debug"
25+
2426
"k8s.io/apimachinery/pkg/fields"
2527
"k8s.io/apimachinery/pkg/runtime"
2628
"k8s.io/client-go/tools/cache"
@@ -29,7 +31,7 @@ import (
2931
)
3032

3133
var (
32-
informerLogger = logging.Global().Get("kubernetes-informer")
34+
informerLogger = logging.Global().RegisterAndGetLogger("kubernetes-informer", logging.Info)
3335
)
3436

3537
// ResourceWatcher is a helper to watch for events in a specific type
@@ -52,7 +54,7 @@ func NewResourceWatcher(getter cache.Getter, resource, namespace string,
5254
AddFunc: func(obj interface{}) {
5355
defer func() {
5456
if err := recover(); err != nil {
55-
informerLogger.Interface("error", err).Error("Recovered from panic")
57+
informerLogger.Interface("error", err).Error("Recovered from panic. Stack trace:", string(debug.Stack()))
5658
}
5759
}()
5860
if h.AddFunc != nil {
@@ -62,7 +64,7 @@ func NewResourceWatcher(getter cache.Getter, resource, namespace string,
6264
UpdateFunc: func(oldObj, newObj interface{}) {
6365
defer func() {
6466
if err := recover(); err != nil {
65-
informerLogger.Interface("error", err).Error("Recovered from panic")
67+
informerLogger.Interface("error", err).Error("Recovered from panic. Stack trace:", string(debug.Stack()))
6668
}
6769
}()
6870
if h.UpdateFunc != nil {
@@ -72,7 +74,7 @@ func NewResourceWatcher(getter cache.Getter, resource, namespace string,
7274
DeleteFunc: func(obj interface{}) {
7375
defer func() {
7476
if err := recover(); err != nil {
75-
informerLogger.Interface("error", err).Error("Recovered from panic")
77+
informerLogger.Interface("error", err).Error("Recovered from panic. Stack trace:", string(debug.Stack()))
7678
}
7779
}()
7880
if h.DeleteFunc != nil {

0 commit comments

Comments
 (0)
0