diff --git a/clientv3/watch.go b/clientv3/watch.go index 28eb491e48a..78d810d41d3 100644 --- a/clientv3/watch.go +++ b/clientv3/watch.go @@ -92,7 +92,7 @@ func (wr *WatchResponse) Err() error { // IsProgressNotify returns true if the WatchResponse is progress notification. func (wr *WatchResponse) IsProgressNotify() bool { - return len(wr.Events) == 0 && !wr.Canceled && !wr.Created + return len(wr.Events) == 0 && !wr.Canceled && !wr.Created && wr.CompactRevision == 0 && wr.Header.Revision != 0 } // watcher implements the Watcher interface diff --git a/proxy/grpcproxy/watcher_group_test.go b/proxy/grpcproxy/watcher_group_test.go index 8284bd7e7dc..188f9a186d3 100644 --- a/proxy/grpcproxy/watcher_group_test.go +++ b/proxy/grpcproxy/watcher_group_test.go @@ -40,7 +40,7 @@ func TestWatchgroupBroadcast(t *testing.T) { } // send a progress response - wch <- clientv3.WatchResponse{} + wch <- clientv3.WatchResponse{Header: pb.ResponseHeader{Revision: 1}} for _, ch := range chs { <-ch