diff --git a/store.go b/store.go index 9e084a6d27..f353cea533 100644 --- a/store.go +++ b/store.go @@ -402,11 +402,14 @@ func (c *controller) processEndpointDelete(nmap map[string]*netWatch, ep *endpoi return } + networkID := n.ID() + endpointID := ep.ID() + c.Lock() - nw, ok := nmap[n.ID()] + nw, ok := nmap[networkID] if ok { - delete(nw.localEps, ep.ID()) + delete(nw.localEps, endpointID) c.Unlock() // Update the svc db about local endpoint leave right away @@ -420,9 +423,9 @@ func (c *controller) processEndpointDelete(nmap map[string]*netWatch, ep *endpoi // This is the last container going away for the network. Destroy // this network's svc db entry - delete(c.svcRecords, n.ID()) + delete(c.svcRecords, networkID) - delete(nmap, n.ID()) + delete(nmap, networkID) } } c.Unlock()