httpauth插件报错

环境信息

  • EMQX 版本:4.2.14
  • 操作系统及版本:centos7.9
  • 其他 鉴权插件http auth

问题描述

测试跑一段时间后,发现emqx log有报错的情况,貌似获取外置服务httpauth 接口失败

配置文件及日志

2022-03-27 17:24:23.694 [warning] Received gun_down with closed
2022-03-27 17:24:24.115 [warning] Received gun_down with closed
2022-03-27 17:24:24.316 [warning] Received gun_down with closed
2022-03-27 17:24:24.399 [error] GET /api/v4/clients error: badarg, stacktrace:
[{erlang,length,
[{badrpc,
{‘EXIT’,
{{badkey,conn_state},
[{maps,get,[conn_state,#{}],[]},
{emqx_mgmt,item,2,[{file,“emqx_mgmt.erl”},{line,892}]},
{emqx_mgmt_api_clients,format,1,
[{file,“emqx_mgmt_api_clients.erl”},{line,255}]},
{lists,map,2,[{file,“lists.erl”},{line,1239}]},
{lists,map,2,[{file,“lists.erl”},{line,1239}]},
{emqx_mgmt_api,select_table,5,
[{file,“emqx_mgmt_api.erl”},{line,177}]},
{rpc,’-handle_call_call/6-fun-0-’,5,
[{file,“rpc.erl”},{line,197}]}]}}}],
[]},
{emqx_mgmt_api,do_cluster_query,6,[{file,“emqx_mgmt_api.erl”},{line,131}]},
{emqx_mgmt_api,cluster_query,3,[{file,“emqx_mgmt_api.erl”},{line,118}]},
{emqx_mgmt_api_clients,list,2,
[{file,“emqx_mgmt_api_clients.erl”},{line,149}]},
{minirest_handler,dispatch,2,[{file,“minirest_handler.erl”},{line,84}]},
{minirest,handle_request,2,[{file,“minirest.erl”},{line,113}]},
{minirest,init,2,[{file,“minirest.erl”},{line,105}]},
{cowboy_handler,execute,2,[{file,“cowboy_handler.erl”},{line,41}]}]
2022-03-27 17:24:24.568 [warning] Received gun_down with closed
2022-03-27 17:24:24.758 [warning] Received gun_down with closed

这个日志应该是有两个问题,一个是和对端的 http auth server 的连接断开,一个是 dashboard 的数据获取时的报错。
对于 dashboard 的报错,建议可以升级到最新版本
对应 http auth 的问题,可以优化 http auth server,或者切换到性能更好的 Exhook 实现上