Quellcode durchsuchen

Merge pull request #6340 from xiang90/fix_double_create

grpcproxy: fix double create event
Xiang Li vor 9 Jahren
Ursprung
Commit
0d07154926
1 geänderte Dateien mit 8 neuen und 0 gelöschten Zeilen
  1. 8 0
      proxy/grpcproxy/watcher_groups.go

+ 8 - 0
proxy/grpcproxy/watcher_groups.go

@@ -43,6 +43,14 @@ func (wgs *watchergroups) addWatcher(rid receiverID, w watcher) {
 		rev := wg.add(rid, w)
 		wgs.idToGroup[rid] = wg
 
+		if rev == 0 {
+			// The group is newly created, the create event has not been delivered
+			// to this group yet.
+			// We can rely on etcd server to deliver the create event.
+			// Or we might end up sending created event twice.
+			return
+		}
+
 		resp := &pb.WatchResponse{
 			Header: &pb.ResponseHeader{
 				// todo: fill in ClusterId