mirror of
https://github.com/prometheus/prometheus
synced 2024-12-27 00:53:12 +00:00
Remove deleted target from discovery manager
Signed-off-by: haleyao <haleyao@tencent.com>
This commit is contained in:
parent
26c354de0b
commit
c5a37ddad5
@ -270,7 +270,12 @@ func (m *Manager) updateGroup(poolKey poolKey, tgs []*targetgroup.Group) {
|
||||
}
|
||||
for _, tg := range tgs {
|
||||
if tg != nil { // Some Discoverers send nil target group so need to check for it to avoid panics.
|
||||
m.targets[poolKey][tg.Source] = tg
|
||||
// Remove the deleted target.
|
||||
if len(tg.Targets) == 0 && len(tg.Labels) == 0 {
|
||||
delete(m.targets[poolKey], tg.Source)
|
||||
} else {
|
||||
m.targets[poolKey][tg.Source] = tg
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -824,13 +824,9 @@ func TestTargetSetRecreatesEmptyStaticConfigs(t *testing.T) {
|
||||
if !ok {
|
||||
t.Fatalf("'%v' should be present in target groups", pkey)
|
||||
}
|
||||
group, ok := targetGroups[""]
|
||||
if !ok {
|
||||
t.Fatalf("missing '' key in target groups %v", targetGroups)
|
||||
}
|
||||
|
||||
if len(group.Targets) != 0 {
|
||||
t.Fatalf("Invalid number of targets: expected 0, got %d", len(group.Targets))
|
||||
_, ok = targetGroups[""]
|
||||
if ok {
|
||||
t.Fatalf("Target groups should be empty, got %v", targetGroups)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -387,7 +387,12 @@ func (m *Manager) updateGroup(poolKey poolKey, tgs []*targetgroup.Group) {
|
||||
}
|
||||
for _, tg := range tgs {
|
||||
if tg != nil { // Some Discoverers send nil target group so need to check for it to avoid panics.
|
||||
m.targets[poolKey][tg.Source] = tg
|
||||
// Remove the deleted target.
|
||||
if len(tg.Targets) == 0 && len(tg.Labels) == 0 {
|
||||
delete(m.targets[poolKey], tg.Source)
|
||||
} else {
|
||||
m.targets[poolKey][tg.Source] = tg
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1044,19 +1044,8 @@ func TestTargetSetRecreatesEmptyStaticConfigs(t *testing.T) {
|
||||
if !ok {
|
||||
t.Fatalf("'%v' should be present in target groups", p)
|
||||
}
|
||||
group, ok := targetGroups[""]
|
||||
if !ok {
|
||||
t.Fatalf("missing '' key in target groups %v", targetGroups)
|
||||
}
|
||||
|
||||
if len(group.Targets) != 0 {
|
||||
t.Fatalf("Invalid number of targets: expected 0, got %d", len(group.Targets))
|
||||
}
|
||||
require.Equal(t, 1, len(syncedTargets))
|
||||
require.Equal(t, 1, len(syncedTargets["prometheus"]))
|
||||
if lbls := syncedTargets["prometheus"][0].Labels; lbls != nil {
|
||||
t.Fatalf("Unexpected Group: expected nil Labels, got %v", lbls)
|
||||
}
|
||||
require.Equal(t, 0, len(targetGroups))
|
||||
require.Equal(t, 0, len(syncedTargets))
|
||||
}
|
||||
|
||||
func TestIdenticalConfigurationsAreCoalesced(t *testing.T) {
|
||||
|
Loading…
Reference in New Issue
Block a user