From edb6056d783b2ec9c29da0f5e14d381b89affc17 Mon Sep 17 00:00:00 2001 From: xiehan <52160700+Barenboim@users.noreply.github.com> Date: Thu, 11 Mar 2021 18:07:26 +0800 Subject: [PATCH] Fix Redis Message warning --- src/protocol/RedisMessage.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/protocol/RedisMessage.cc b/src/protocol/RedisMessage.cc index 740bb2ec..cb63d2dd 100644 --- a/src/protocol/RedisMessage.cc +++ b/src/protocol/RedisMessage.cc @@ -663,7 +663,7 @@ bool RedisRequest::get_params(std::vector& params) const #define REDIS_ASK_COMMAND "ASKING" #define REDIS_ASK_REQUEST "*1\r\n$6\r\nASKING\r\n" -#define REDIS_ASK_RESPONSE "+OK\r\n" +#define REDIS_OK_RESPONSE "+OK\r\n" int RedisRequest::encode(struct iovec vectors[], int max) { @@ -684,6 +684,7 @@ int RedisRequest::append(const void *buf, size_t *size) if (ret > 0) { std::string command; + if (get_command(command) && strcasecmp(command.c_str(), REDIS_ASK_COMMAND) == 0) { @@ -691,8 +692,8 @@ int RedisRequest::append(const void *buf, size_t *size) redis_parser_init(this->parser_); set_asking(true); - size_t size = strlen(REDIS_ASK_RESPONSE); - if (this->feedback(REDIS_ASK_RESPONSE, size) != size) + ret = this->feedback(REDIS_OK_RESPONSE, strlen(REDIS_OK_RESPONSE)); + if (ret != strlen(REDIS_OK_RESPONSE)) { errno = EAGAIN; ret = -1;