瀏覽代碼

clientv3: only return closing error to watcher if context is not canceled

Fixes #6503
Anthony Romano 9 年之前
父節點
當前提交
e285f599e2
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      clientv3/watch.go

+ 1 - 1
clientv3/watch.go

@@ -364,7 +364,7 @@ func (w *watchGrpcStream) closeSubstream(ws *watcherStream) {
 	default:
 	}
 	// close subscriber's channel
-	if closeErr := w.closeErr; closeErr != nil {
+	if closeErr := w.closeErr; closeErr != nil && ws.initReq.ctx.Err() == nil {
 		go w.sendCloseSubstream(ws, &WatchResponse{closeErr: w.closeErr})
 	} else {
 		close(ws.outc)