From: Arran Cudbard-Bell Date: Tue, 23 Feb 2021 16:37:27 +0000 (+0000) Subject: Try and track down issue with redis cache driver X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bddcbaee25a1a38ed8de22c643d34ae355d51fe2;p=thirdparty%2Ffreeradius-server.git Try and track down issue with redis cache driver --- diff --git a/src/lib/redis/cluster.c b/src/lib/redis/cluster.c index e4f10a95594..8260fd16654 100644 --- a/src/lib/redis/cluster.c +++ b/src/lib/redis/cluster.c @@ -1719,6 +1719,7 @@ fr_redis_rcode_t fr_redis_cluster_state_init(fr_redis_cluster_state_t *state, fr fr_assert(conn); memset(state, 0, sizeof(*state)); + *conn = NULL; /* Better safe than exploding */ used_nodes = rbtree_num_elements(cluster->used_nodes); if (used_nodes == 0) { diff --git a/src/lib/redis/redis.c b/src/lib/redis/redis.c index e2b5d872326..cfbff125064 100644 --- a/src/lib/redis/redis.c +++ b/src/lib/redis/redis.c @@ -92,6 +92,11 @@ fr_redis_rcode_t fr_redis_command_status(fr_redis_conn_t *conn, redisReply *repl return REDIS_RCODE_SUCCESS; case REDIS_REPLY_ERROR: + /* + * May indicate the connection handle is bad. + */ + fr_assert_msg(reply->str, "Error response contained no error string"); + fr_strerror_printf("Server error: %s", reply->str); if (strncmp(REDIS_ERROR_MOVED_STR, reply->str, sizeof(REDIS_ERROR_MOVED_STR) - 1) == 0) { return REDIS_RCODE_MOVE;