From 4a0a83380e89ac4bceffd3b49625143fb3a14e64 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Fri, 26 Feb 2016 14:06:40 -0800 Subject: [PATCH] *: return -1 for canceled watch request --- etcdserver/api/v3rpc/watch.go | 1 + integration/v3_watch_test.go | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/etcdserver/api/v3rpc/watch.go b/etcdserver/api/v3rpc/watch.go index 31dcfe328..3a0a9b991 100644 --- a/etcdserver/api/v3rpc/watch.go +++ b/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, } diff --git a/integration/v3_watch_test.go b/integration/v3_watch_test.go index 65772b7a6..17513ca7e 100644 --- a/integration/v3_watch_test.go +++ b/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)) } }