From cb45a843bb40a38e0b2784d7ef2a6ab932550c00 Mon Sep 17 00:00:00 2001 From: Tao He Date: Fri, 10 Mar 2023 14:28:37 +0800 Subject: [PATCH] Fixes the wrong key setup in watcher Signed-off-by: Tao He --- src/v3/AsyncWatchAction.cpp | 8 +--- tst/WatcherTest.cpp | 89 ++++++++++++++++++++++++++----------- 2 files changed, 65 insertions(+), 32 deletions(-) diff --git a/src/v3/AsyncWatchAction.cpp b/src/v3/AsyncWatchAction.cpp index 3c6e062..b4f5d7c 100644 --- a/src/v3/AsyncWatchAction.cpp +++ b/src/v3/AsyncWatchAction.cpp @@ -18,10 +18,10 @@ etcdv3::AsyncWatchAction::AsyncWatchAction( watch_create_req.set_key(parameters.key); } else { if (parameters.key.empty()) { - watch_create_req.set_range_end(etcdv3::NUL); + watch_create_req.set_key(etcdv3::NUL); watch_create_req.set_range_end(etcdv3::NUL); } else { - watch_create_req.set_range_end(parameters.key); + watch_create_req.set_key(parameters.key); watch_create_req.set_range_end(detail::string_plus_one(parameters.key)); } } @@ -76,8 +76,6 @@ void etcdv3::AsyncWatchAction::waitForResponse() if (got_tag == (void *)etcdv3::WATCH_FINISH) { // shutdown cq_.Shutdown(); - // cancel on-the-fly calls - context.TryCancel(); break; } if(got_tag == (void*)this) // read tag @@ -159,8 +157,6 @@ void etcdv3::AsyncWatchAction::waitForResponse(std::function threads(10); for (size_t i = 0; i < 10; ++i) {