Browse Source

Merge pull request #4632 from gyuho/watchid

*: return -1 for canceled watch request
Gyu-Ho Lee 9 years ago
parent
commit
df93f5cb5d
2 changed files with 4 additions and 2 deletions
  1. 1 0
      etcdserver/api/v3rpc/watch.go
  2. 3 2
      integration/v3_watch_test.go

+ 1 - 0
etcdserver/api/v3rpc/watch.go

@@ -111,6 +111,7 @@ func (sws *serverWatchStream) recvLoop() error {
 				} else if rev > wsrev { // do not allow watching future revision.
 					sws.ctrlStream <- &pb.WatchResponse{
 						Header:   sws.newResponseHeader(wsrev),
+						WatchId:  -1,
 						Created:  true,
 						Canceled: true,
 					}

+ 3 - 2
integration/v3_watch_test.go

@@ -807,7 +807,8 @@ func TestV3WatchInvalidFutureRevision(t *testing.T) {
 	if err != nil {
 		t.Errorf("wStream.Recv error: %v", err)
 	}
-	if !resp.Created || !resp.Canceled || len(resp.Events) != 0 {
-		t.Errorf("invalid start rev should return true, true, 0, but got %v, %v, %d", resp.Created, resp.Canceled, len(resp.Events))
+	if resp.WatchId != -1 || !resp.Created || !resp.Canceled || len(resp.Events) != 0 {
+		t.Errorf("invalid start-rev expected -1, true, true, 0, but got %d, %v, %v, %d",
+			resp.WatchId, resp.Created, resp.Canceled, len(resp.Events))
 	}
 }