浏览代码

db_redis: don't leave unconsumed redis replies in case of error on update

Execute db_redis_consume_replies on failed update same as in db_redis_insert:
if db_redis_perform_update encounters an error it was leaving unconsumed data
thus causing unexpected reply later on when reading from the same connection.

(cherry picked from commit bbd7b2ed5827252680e9d8949c193699da0a76b2)
(cherry picked from commit 7b371b77702471e62d8bd2ee957c44df73f1db80)
Andrii Pogrebennyk 3 年之前
父节点
当前提交
afc7f4c2e9
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      src/modules/db_redis/redis_dbase.c

+ 2 - 0
src/modules/db_redis/redis_dbase.c

@@ -2249,6 +2249,7 @@ static int db_redis_perform_update(const db1_con_t* _h, km_redis_con_t *con, con
 
     db_redis_key_free(&all_type_keys);
     db_redis_key_free(&new_type_keys);
+    db_redis_consume_replies(con);
     return 0;
 
 error:
@@ -2260,6 +2261,7 @@ error:
     db_redis_key_free(&type_keys);
     db_redis_key_free(&set_keys);
     db_redis_key_free(&new_type_keys);
+    db_redis_consume_replies(con);
     return -1;
 }