From 246be6723fbc6d5651e755e0b34686cf0843d3f4 Mon Sep 17 00:00:00 2001 From: Tao He Date: Mon, 17 Jul 2023 10:30:15 +0800 Subject: [PATCH] Fixes txn delete response to keep backwards compatibility Signed-off-by: Tao He --- src/v3/AsyncGRPC.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/v3/AsyncGRPC.cpp b/src/v3/AsyncGRPC.cpp index 9af8824..0a8a9d2 100644 --- a/src/v3/AsyncGRPC.cpp +++ b/src/v3/AsyncGRPC.cpp @@ -212,14 +212,20 @@ void etcdv3::AsyncTxnResponse::ParseResponse(TxnResponse& reply) { AsyncDeleteResponse response; response.ParseResponse(*(resp.mutable_response_delete_range())); - if (error_code == 0) { + // Ignore "key not found" error for delete in txn, keep backwards + // compatibility. + if (response.get_error_code() != 0 && + response.get_error_code() != etcdv3::ERROR_KEY_NOT_FOUND) { error_code = response.get_error_code(); } if (!response.get_error_message().empty()) { - if (!error_message.empty()) { - error_message += "\n"; + if (response.get_error_code() != 0 && + response.get_error_code() != etcdv3::ERROR_KEY_NOT_FOUND) { + if (!error_message.empty()) { + error_message += "\n"; + } + error_message += response.get_error_message(); } - error_message += response.get_error_message(); } for (auto const& value : response.get_values()) { values.emplace_back(value);