[MEDIUM] checks: set server state to one state from failure when leaving maintenance
When we're enabling a server again (unix CLI or stats interface), we must not mark
it completely up because it can take a while before a failure is detected. So we
mark it one step above failure, which means it's up but will be marked down upon
first failure.
(cherry picked from commit 83c3e06452457ed5660fc814cbda5bf878bf19a2)
diff --git a/src/dumpstats.c b/src/dumpstats.c
index f0d6c83..f7f3276 100644
--- a/src/dumpstats.c
+++ b/src/dumpstats.c
@@ -755,12 +755,14 @@
*/
if (sv->tracked->state & SRV_RUNNING) {
set_server_up(sv);
+ sv->health = sv->rise; /* up, but will fall down at first failure */
} else {
sv->state &= ~SRV_MAINTAIN;
set_server_down(sv);
}
} else {
set_server_up(sv);
+ sv->health = sv->rise; /* up, but will fall down at first failure */
}
}
diff --git a/src/proto_http.c b/src/proto_http.c
index 0cbfef2..3003e5d 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -2931,6 +2931,7 @@
if ((sv->state & SRV_MAINTAIN)) {
/* Already in maintenance, we can change the server state */
set_server_up(sv);
+ sv->health = sv->rise; /* up, but will fall down at first failure */
s->data_ctx.stats.st_code = STAT_STATUS_DONE;
}
break;