diff --git a/apps/emqx_management/src/emqx_mgmt.erl b/apps/emqx_management/src/emqx_mgmt.erl index 8148e4487..5909c9dc2 100644 --- a/apps/emqx_management/src/emqx_mgmt.erl +++ b/apps/emqx_management/src/emqx_mgmt.erl @@ -269,10 +269,14 @@ list_authz_cache(ClientId) -> list_client_subscriptions(ClientId) -> Results = [client_subscriptions(Node, ClientId) || Node <- mria_mnesia:running_nodes()], - Expected = lists:filter(fun({error, _}) -> false; - ([]) -> false; - (_) -> true - end, Results), + Filter = + fun + ({error, _}) -> + false; + ({_Node, List}) -> + erlang:is_list(List) andalso 0 < erlang:length(List) + end, + Expected = lists:filter(Filter, Results), case Expected of [] -> []; [Result | _] -> Result