Fix race condition in Rule manager.Update() function

Signed-off-by: fuling <fuling.lgz@alibaba-inc.com>
This commit is contained in:
fuling 2020-03-01 17:48:45 +08:00 committed by Julien Pivotto
parent 3fff701b77
commit 8b11d2cfb6

View file

@ -921,7 +921,7 @@ func (m *Manager) Update(interval time.Duration, files []string, externalLabels
}
wg.Add(1)
go func(newg *Group) {
go func(newg *Group, oldg *Group) {
if ok {
oldg.stop()
newg.CopyState(oldg)
@ -934,7 +934,7 @@ func (m *Manager) Update(interval time.Duration, files []string, externalLabels
newg.run(m.opts.Context)
}()
wg.Done()
}(newg)
}(newg, oldg)
}
// Stop remaining old groups.