diff --git a/remoting/kubernetes/listener.go b/remoting/kubernetes/listener.go index c87559e7f4b5496dc9cced711b8aabbb4b630a51..da6d8351590c29ab6ce7f53cee3263d235620c6f 100644 --- a/remoting/kubernetes/listener.go +++ b/remoting/kubernetes/listener.go @@ -166,6 +166,12 @@ func (l *EventListener) ListenServiceEvent(key string, listener remoting.DataLis } l.keyMapLock.Lock() + // double check + if _, ok := l.keyMap[key]; ok { + // another goroutine already set it + l.keyMapLock.Unlock() + return + } l.keyMap[key] = struct{}{} l.keyMapLock.Unlock()