mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-26 06:04:05 -08:00
some Discoverers send nil targetgroup so need to check for it when updating a group
This commit is contained in:
parent
7e28397a2c
commit
638818a974
|
@ -158,16 +158,18 @@ func (m *Manager) cancelDiscoverers() {
|
||||||
m.discoverCancel = nil
|
m.discoverCancel = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Manager) updateGroup(poolKey poolKey, tg []*targetgroup.Group) {
|
func (m *Manager) updateGroup(poolKey poolKey, tgs []*targetgroup.Group) {
|
||||||
done := make(chan struct{})
|
done := make(chan struct{})
|
||||||
|
|
||||||
m.actionCh <- func(ctx context.Context) {
|
m.actionCh <- func(ctx context.Context) {
|
||||||
if tg != nil {
|
if tgs != nil {
|
||||||
for _, t := range tg {
|
for _, tg := range tgs {
|
||||||
if _, ok := m.targets[poolKey]; !ok {
|
if tg != nil { // Some Discoverers send nil targetgroup so need to check for it to avoid panics.
|
||||||
m.targets[poolKey] = make(map[string]*targetgroup.Group)
|
if _, ok := m.targets[poolKey]; !ok {
|
||||||
|
m.targets[poolKey] = make(map[string]*targetgroup.Group)
|
||||||
|
}
|
||||||
|
m.targets[poolKey][tg.Source] = tg
|
||||||
}
|
}
|
||||||
m.targets[poolKey][t.Source] = t
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close(done)
|
close(done)
|
||||||
|
@ -191,11 +193,7 @@ func (m *Manager) allGroups() map[string][]*targetgroup.Group {
|
||||||
tSetsAll := map[string][]*targetgroup.Group{}
|
tSetsAll := map[string][]*targetgroup.Group{}
|
||||||
for _, pk := range pKeys {
|
for _, pk := range pKeys {
|
||||||
for _, tg := range m.targets[pk] {
|
for _, tg := range m.targets[pk] {
|
||||||
// Don't add empty targets.
|
tSetsAll[pk.setName] = append(tSetsAll[pk.setName], tg)
|
||||||
// Some Discoverers(eg. k8s) send only the updates so removed targets will be updated with an empty Source value.
|
|
||||||
if tg.Source != "" {
|
|
||||||
tSetsAll[pk.setName] = append(tSetsAll[pk.setName], tg)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tSets <- tSetsAll
|
tSets <- tSetsAll
|
||||||
|
|
Loading…
Reference in a new issue