force_reconnecting_zombie_http_connection

emqx.log.1 以下提示,

2025-01-03T01:02:07.846857+08:00 [error] msg: force_reconnecting_zombie_http_connection, port: 80, host: mqtt.gouwoo.com, connection_pid: <0.195696.0>, inactive_duration_threshold: 10000, inflight_requests: 16, last_request_expire: 2025-01-03T01:01:55.462+08:00
2025-01-03T01:02:07.853126+08:00 [error] msg: force_reconnecting_zombie_http_connection, port: 80, host: mqtt.gouwoo.com, connection_pid: <0.199571.0>, inactive_duration_threshold: 10000, inflight_requests: 12, last_request_expire: 2025-01-03T01:01:51.975+08:00
2025-01-03T01:02:08.111549+08:00 [error] msg: force_reconnecting_zombie_http_connection, port: 80, host: mqtt.gouwoo.com, connection_pid: <0.199946.0>, inactive_duration_threshold: 10000, inflight_requests: 14, last_request_expire: 2025-01-03T01:01:55.627+08:00
2025-01-03T01:02:08.589448+08:00 [error] msg: force_reconnecting_zombie_http_connection, port: 80, host: mqtt.gouwoo.com, connection_pid: <0.200321.0>, inactive_duration_threshold: 10000, inflight_requests: 3, last_request_expire: 2025-01-03T01:01:57.575+08:00
2025-01-03T01:02:10.892136+08:00 [error] msg: force_reconnecting_zombie_http_connection, port: 80, host: mqtt.gouwoo.com, connection_pid: <0.197476.0>, inactive_duration_threshold: 10000, inflight_requests: 13, last_request_expire: 2025-01-03T01:02:00.427+08:00
2025-01-03T01:02:17.699306+08:00 [error] msg: force_reconnecting_zombie_http_connection, port: 80, host: mqtt.gouwoo.com, connection_pid: <0.196275.0>, inactive_duration_threshold: 10000, inflight_requests: 2, last_request_expire: 2025-01-03T01:02:07.150+08:00
2025-01-03T01:02:40.143068+08:00 [warning] msg: log_events_throttled_during_last_period, period: 1 minutes, 0 seconds, dropped: #{authentication_failure => 31}

麻烦帮忙看一下,什么情况下,会报这个问题?

这个是什么版本,全局搜索都找不到这个 msg

v5.8.3

看日志里 inflight_requests: 16, 是不是表示请求堵塞?我希望定位到问题,麻烦指导一下,从哪里开始入手解决?

找到了。新加的一个功能。可以检查到无法连接的僵尸进程,发的 request 一段时间没有 response,达到一定数量就会重启这个连接。
PS: emqx 的 http pool 是用的长连接做的。不需要每个请求都重建tcp 连接。
Ref:
https://github.com/emqx/emqx/pull/13942

https://github.com/emqx/emqx/issues/12974

总的来说,他不会影响到你的大部分业务,但是会有少量的请求真的是没有返回 response,你得结合你的 http server 找找原因。为什么没返回。。。