From 3ab5fe9d7c3b53ff3556f2795e1d5a69cbc19592 Mon Sep 17 00:00:00 2001 From: servak Date: Wed, 30 Jun 2021 20:04:53 +0900 Subject: [PATCH] fixed disappeared target groups in http_sd #9019 Signed-off-by: servak --- discovery/http/http.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/discovery/http/http.go b/discovery/http/http.go index df093b6578..deacc77f07 100644 --- a/discovery/http/http.go +++ b/discovery/http/http.go @@ -104,6 +104,7 @@ type Discovery struct { url string client *http.Client refreshInterval time.Duration + tgLastLength int } // NewDiscovery returns a new HTTP discovery for the given config. @@ -183,6 +184,15 @@ func (d *Discovery) refresh(ctx context.Context) ([]*targetgroup.Group, error) { tg.Labels[httpSDURLLabel] = model.LabelValue(d.url) } + // Generate empty updates for sources that disappeared. + l := len(targetGroups) + if d.tgLastLength > l { + for i := l; i < d.tgLastLength; i++ { + targetGroups = append(targetGroups, &targetgroup.Group{Source: urlSource(d.url, i)}) + } + } + d.tgLastLength = l + return targetGroups, nil }