Skip to content

Commit c92342d

Browse files
authored
fix healtcheck error handling and add singleflight group to handler struct (#1985)
1 parent f04c446 commit c92342d

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

internal/api/handler.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ type (
227227
queryTopMemUsageMu sync.Mutex
228228
queryTopDuration []queryTopDuration
229229
queryTopDurationMu sync.Mutex
230+
231+
healthcheckGroup singleflight.Group
230232
}
231233

232234
queryTopMemUsage struct {
@@ -1437,8 +1439,6 @@ func HandleGetHistory(r *httpRequestHandler) {
14371439
respondJSON(r, resp, defaultCacheTTL, 0, err)
14381440
}
14391441

1440-
var group singleflight.Group
1441-
14421442
func HandleGetHealthcheck(r *httpRequestHandler) {
14431443
now := time.Now()
14441444
req := seriesRequest{
@@ -1447,10 +1447,13 @@ func HandleGetHealthcheck(r *httpRequestHandler) {
14471447
to: now,
14481448
promQL: healthcheckQuery,
14491449
}
1450-
_, err, _ := group.Do("healthcheck", func() (interface{}, error) {
1450+
_, err, _ := r.healthcheckGroup.Do("healthcheck", func() (interface{}, error) {
14511451
_, cancel, err := r.handleSeriesRequestS(r.Context(), req, make([]seriesResponse, 2))
1452+
if err != nil {
1453+
return nil, err
1454+
}
14521455
cancel()
1453-
return nil, err
1456+
return nil, nil
14541457
})
14551458
if err != nil {
14561459
log.Printf("[error] healtcheck failed: %v", err)

0 commit comments

Comments
 (0)