Browse Source

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.
Andrii Pogrebennyk 3 years ago
parent
commit
bbd7b2ed58
1 changed files with 2 additions and 0 deletions
  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(&all_type_keys);
     db_redis_key_free(&new_type_keys);
     db_redis_key_free(&new_type_keys);
+    db_redis_consume_replies(con);
     return 0;
     return 0;
 
 
 error:
 error:
@@ -2260,6 +2261,7 @@ error:
     db_redis_key_free(&type_keys);
     db_redis_key_free(&type_keys);
     db_redis_key_free(&set_keys);
     db_redis_key_free(&set_keys);
     db_redis_key_free(&new_type_keys);
     db_redis_key_free(&new_type_keys);
+    db_redis_consume_replies(con);
     return -1;
     return -1;
 }
 }