Procházet zdrojové kódy

fix concurrent map writes (#2079)

Co-authored-by: wero <wero@werodeMacBook-Pro.local>
givemeafish před 2 roky
rodič
revize
6a4885ba64
1 změnil soubory, kde provedl 2 přidání a 0 odebrání
  1. 2 0
      core/discov/internal/registry.go

+ 2 - 0
core/discov/internal/registry.go

@@ -191,9 +191,11 @@ func (c *cluster) handleWatchEvents(key string, events []*clientv3.Event) {
 				})
 			}
 		case clientv3.EventTypeDelete:
+			c.lock.Lock()
 			if vals, ok := c.values[key]; ok {
 				delete(vals, string(ev.Kv.Key))
 			}
+			c.lock.Unlock()
 			for _, l := range listeners {
 				l.OnDelete(KV{
 					Key: string(ev.Kv.Key),