Fix race condition in Rule manager.Update() function
@@ -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.
