From ad2d6ed7ed90c4f7ff829de0b7e27c0fd352cea8 Mon Sep 17 00:00:00 2001 From: cadeeper <cadeeper@gmail.com> Date: Thu, 5 Nov 2020 15:38:55 +0800 Subject: [PATCH] fix bug: pathMap cache need to delete after node removed --- remoting/zookeeper/listener.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/remoting/zookeeper/listener.go b/remoting/zookeeper/listener.go index b6c6d7810..99167088a 100644 --- a/remoting/zookeeper/listener.go +++ b/remoting/zookeeper/listener.go @@ -301,6 +301,9 @@ func (l *ZkEventListener) listenDirEvent(conf *common.URL, zkPath string, listen go func(zkPath string, listener remoting.DataListener) { if l.listenServiceNodeEvent(zkPath) { listener.DataChange(remoting.Event{Path: zkPath, Action: remoting.EventTypeDel}) + l.pathMapLock.Lock() + delete(l.pathMap, zkPath) + l.pathMapLock.Unlock() } logger.Warnf("listenSelf(zk path{%s}) goroutine exit now", zkPath) }(dubboPath, listener) -- GitLab