diff --git a/contrib/prometheus-exporter/service-prometheus.c b/contrib/prometheus-exporter/service-prometheus.c index 98f6b174c..ba1619f47 100644 --- a/contrib/prometheus-exporter/service-prometheus.c +++ b/contrib/prometheus-exporter/service-prometheus.c @@ -724,7 +724,7 @@ const struct ist promex_st_metric_desc[ST_F_TOTAL_FIELDS] = { [ST_F_ERESP] = IST("Total number of response errors."), [ST_F_WRETR] = IST("Total number of retry warnings."), [ST_F_WREDIS] = IST("Total number of redispatch warnings."), - [ST_F_STATUS] = IST("Current status of the service (frontend: 0=STOP, 1=UP, 2=FULL - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB)."), + [ST_F_STATUS] = IST("Current status of the service (frontend: 0=STOP, 1=UP - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB)."), [ST_F_WEIGHT] = IST("Service weight."), [ST_F_ACT] = IST("Current number of active servers."), [ST_F_BCK] = IST("Current number of backup servers."), @@ -1551,7 +1551,7 @@ static int promex_dump_front_metrics(struct appctx *appctx, struct htx *htx) switch (appctx->st2) { case ST_F_STATUS: - metric = mkf_u32(FO_STATUS, px->state == PR_STREADY ? 1 : px->state == PR_STFULL ? 2 : 0); + metric = mkf_u32(FO_STATUS, px->state == PR_STREADY ? 1 : 0); break; case ST_F_SCUR: metric = mkf_u32(0, px->feconn); diff --git a/include/haproxy/proxy-t.h b/include/haproxy/proxy-t.h index 16fee4a2e..f0c61b3b7 100644 --- a/include/haproxy/proxy-t.h +++ b/include/haproxy/proxy-t.h @@ -46,7 +46,6 @@ enum pr_state { PR_STNEW = 0, /* proxy has not been initialized yet */ PR_STREADY, /* proxy has been initialized and is ready */ - PR_STFULL, /* frontend is full (maxconn reached) */ PR_STPAUSED, /* frontend is paused (during hot restart) */ PR_STSTOPPED, /* proxy is stopped (end of a restart) */ PR_STERROR, /* proxy experienced an unrecoverable error */ diff --git a/src/proxy.c b/src/proxy.c index a901f53ad..d3c207e71 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -1118,15 +1118,8 @@ struct task *manage_proxy(struct task *t, void *context, unsigned short state) goto out; /* check the various reasons we may find to block the frontend */ - if (unlikely(p->feconn >= p->maxconn)) { - if (p->state == PR_STREADY) - p->state = PR_STFULL; + if (unlikely(p->feconn >= p->maxconn)) goto out; - } - - /* OK we have no reason to block, so let's unblock if we were blocking */ - if (p->state == PR_STFULL) - p->state = PR_STREADY; if (p->fe_sps_lim && (wait = next_event_delay(&p->fe_sess_per_sec, p->fe_sps_lim, 0))) { diff --git a/src/stats.c b/src/stats.c index 8752788ba..132011d27 100644 --- a/src/stats.c +++ b/src/stats.c @@ -1629,7 +1629,7 @@ int stats_fill_fe_stats(struct proxy *px, struct field *stats, int len) stats[ST_F_EREQ] = mkf_u64(FN_COUNTER, px->fe_counters.failed_req); stats[ST_F_DCON] = mkf_u64(FN_COUNTER, px->fe_counters.denied_conn); stats[ST_F_DSES] = mkf_u64(FN_COUNTER, px->fe_counters.denied_sess); - stats[ST_F_STATUS] = mkf_str(FO_STATUS, px->state == PR_STREADY ? "OPEN" : px->state == PR_STFULL ? "FULL" : "STOP"); + stats[ST_F_STATUS] = mkf_str(FO_STATUS, px->state == PR_STREADY ? "OPEN" : "STOP"); stats[ST_F_PID] = mkf_u32(FO_KEY, relative_pid); stats[ST_F_IID] = mkf_u32(FO_KEY|FS_SERVICE, px->uuid); stats[ST_F_SID] = mkf_u32(FO_KEY|FS_SERVICE, 0);