We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents e102f29 + e590572 commit 5a5408bCopy full SHA for 5a5408b
server/etcdserver/api/v3rpc/watch.go
@@ -345,11 +345,17 @@ func (sws *serverWatchStream) recvLoop() error {
345
id := uv.CancelRequest.WatchId
346
err := sws.watchStream.Cancel(mvcc.WatchID(id))
347
if err == nil {
348
- sws.ctrlStream <- &pb.WatchResponse{
+ wr := &pb.WatchResponse{
349
Header: sws.newResponseHeader(sws.watchStream.Rev()),
350
WatchId: id,
351
Canceled: true,
352
}
353
+ select {
354
+ case sws.ctrlStream <- wr:
355
+ case <-sws.closec:
356
+ return nil
357
+ }
358
+
359
sws.mu.Lock()
360
delete(sws.progress, mvcc.WatchID(id))
361
delete(sws.prevKV, mvcc.WatchID(id))
0 commit comments