From 0050ac5998be2889c79a32a89323a70e3f1a4b55 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Mon, 14 Apr 2025 16:38:40 -0400 Subject: [PATCH] MT#55283 convert redis to int64_t Change-Id: I5238eaf821512b21dac33716fb9c5109c9e0955c --- daemon/redis.c | 8 ++++---- include/redis.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/daemon/redis.c b/daemon/redis.c index ea18344be..735130bb0 100644 --- a/daemon/redis.c +++ b/daemon/redis.c @@ -897,7 +897,7 @@ struct redis *redis_new(const endpoint_t *ep, int db, const char *hostname, cons r->role = role; r->state = REDIS_STATE_DISCONNECTED; r->no_redis_required = no_redis_required; - r->restore_tick = 0; + r->restore_tick_us = 0; r->consecutive_errors = 0; r->update_resolve = update_resolve; mutex_init(&r->lock); @@ -957,7 +957,7 @@ static void redis_count_err_and_disable(struct redis *r) r->consecutive_errors++; if (r->consecutive_errors > allowed_errors) { - r->restore_tick = timeval_from_us(rtpe_now).tv_sec + disable_time; + r->restore_tick_us = rtpe_now + disable_time * 1000000LL; // XXX scale to micro ilog(LOG_WARNING, "Redis server %s disabled for %d seconds", endpoint_print_buf(&r->endpoint), disable_time); @@ -968,9 +968,9 @@ static void redis_count_err_and_disable(struct redis *r) static int redis_check_conn(struct redis *r) { rtpe_now = now_us(); // XXX this needed here? - if ((r->state == REDIS_STATE_DISCONNECTED) && (r->restore_tick > timeval_from_us(rtpe_now).tv_sec)) { + if ((r->state == REDIS_STATE_DISCONNECTED) && r->restore_tick_us > rtpe_now) { ilog(LOG_WARNING, "Redis server '%s' is disabled. Don't try RE-Establishing for %" PRId64 " more seconds", - r->hostname, r->restore_tick - timeval_from_us(rtpe_now).tv_sec); + r->hostname, (r->restore_tick_us - rtpe_now) / 1000000); return REDIS_STATE_DISCONNECTED; } diff --git a/include/redis.h b/include/redis.h index 9c2cc0df7..592571f1b 100644 --- a/include/redis.h +++ b/include/redis.h @@ -55,7 +55,7 @@ struct redis { int state; int no_redis_required; int consecutive_errors; - time_t restore_tick; + int64_t restore_tick_us; int current_db; struct event_base *async_ev;