https://fedorahosted.org/sssd/ticket/2390
From 1e77d253f35af6fa4fa0b5cd866eaa20a41b80bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <[email protected]> Date: Mon, 28 Jul 2014 11:48:31 +0200 Subject: [PATCH] failover: set port status to not working if previous srv lookup failed
If previous SRV lookup failed and the SRV lookup status is not yet reseted to neutral we end up with unresolved meta server with neutral port status. This caused the failover to stick with the meta server instead of cycling through all configured servers. https://fedorahosted.org/sssd/ticket/2390 --- src/providers/fail_over.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c index c45fe9c4991b6b283af3124f3e9b581d0e6fad6d..466e3f4de5d7dc2fa4879c457f764b80dba53e5c 100644 --- a/src/providers/fail_over.c +++ b/src/providers/fail_over.c @@ -1244,6 +1244,11 @@ resolve_srv_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, case SRV_RESOLVE_ERROR: /* query could not be resolved but don't retry yet */ ret = EIO; state->out = server; + + /* The port status was reseted to neutral but we still haven't reached + * timeout to try to resolve SRV record again. We will set the port + * status back to not working. */ + fo_set_port_status(state->meta, PORT_NOT_WORKING); goto done; case SRV_RESOLVED: /* The query is resolved and valid. Return. */ state->out = server; -- 1.7.11.7
_______________________________________________ sssd-devel mailing list [email protected] https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
