You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kvrocks.apache.org by ti...@apache.org on 2022/10/21 03:14:16 UTC
[incubator-kvrocks] branch unstable updated: Fix don't duplicate killed clients which have already flagged kCloseAfterReply (#1020)
This is an automated email from the ASF dual-hosted git repository.
tison pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/incubator-kvrocks.git
The following commit(s) were added to refs/heads/unstable by this push:
new dd80ec32 Fix don't duplicate killed clients which have already flagged kCloseAfterReply (#1020)
dd80ec32 is described below
commit dd80ec32f556950638206f5d3678a21132992558
Author: hulk <hu...@gmail.com>
AuthorDate: Fri Oct 21 11:14:11 2022 +0800
Fix don't duplicate killed clients which have already flagged kCloseAfterReply (#1020)
---
src/server/worker.cc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/server/worker.cc b/src/server/worker.cc
index be5bf131..c4056768 100644
--- a/src/server/worker.cc
+++ b/src/server/worker.cc
@@ -430,6 +430,10 @@ void Worker::KillClient(Redis::Connection *self, uint64_t id, std::string addr,
for (const auto &iter : conns_) {
Redis::Connection *conn = iter.second;
if (skipme && self == conn) continue;
+ // no need to kill the client again if flags as kCloseAfterReply
+ if (conn->IsFlagEnabled(Redis::Connection::kCloseAfterReply)) {
+ continue;
+ }
if ((type & conn->GetClientType()) || (!addr.empty() && conn->GetAddr() == addr) ||
(id != 0 && conn->GetID() == id)) {
conn->EnableFlag(Redis::Connection::kCloseAfterReply);