dovecot-2.2: login proxy: Don't assume host is down unless last ...
dovecot at dovecot.org
dovecot at dovecot.org
Sun May 20 03:26:24 EEST 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/53b23557ec54
changeset: 14258:53b23557ec54
user: Timo Sirainen <tss at iki.fi>
date: Fri Mar 02 17:58:37 2012 +0200
description:
login proxy: Don't assume host is down unless last success was >30s before last failure.
This avoids thinking that host is down, simply because one connection for it
failed.
diffstat:
src/login-common/login-proxy.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diffs (19 lines):
diff -r e86198d749ec -r 53b23557ec54 src/login-common/login-proxy.c
--- a/src/login-common/login-proxy.c Fri Mar 02 15:49:34 2012 +0200
+++ b/src/login-common/login-proxy.c Fri Mar 02 17:58:37 2012 +0200
@@ -23,6 +23,7 @@
#define LOGIN_PROXY_IPC_PATH "ipc-proxy"
#define LOGIN_PROXY_IPC_NAME "proxy"
#define KILLED_BY_ADMIN_REASON "Killed by admin"
+#define PROXY_IMMEDIATE_FAILURE_SECS 30
struct login_proxy {
struct login_proxy *prev, *next;
@@ -240,6 +241,7 @@
rec = login_proxy_state_get(proxy_state, &proxy->ip, proxy->port);
if (timeval_cmp(&rec->last_failure, &rec->last_success) > 0 &&
+ rec->last_failure.tv_sec - rec->last_success.tv_sec > PROXY_IMMEDIATE_FAILURE_SECS &&
rec->num_waiting_connections != 0) {
/* the server is down. fail immediately */
i_error("proxy(%s): Host %s:%u is down",
More information about the dovecot-cvs
mailing list