mod_shared_roster: Adjust special group cache size

Let the size of the cache used for 'special' groups (such as @all@ or
@online@) depend on the number of virtual hosts, as the cache will
contain seperate entries per domain.

Thanks to Ingo Jrgensmann for reporting the issue.
This commit is contained in:
Holger Weiss 2022-01-25 16:57:27 +01:00
parent 4579fd6ac7
commit 52ac941034
1 changed files with 2 additions and 1 deletions

View File

@ -150,7 +150,8 @@ depends(_Host, _Opts) ->
-spec init_cache(module(), binary(), gen_mod:opts()) -> ok.
init_cache(Mod, Host, Opts) ->
ets_cache:new(?SPECIAL_GROUPS_CACHE, [{max_size, 4}]),
NumHosts = length(ejabberd_option:hosts()),
ets_cache:new(?SPECIAL_GROUPS_CACHE, [{max_size, NumHosts * 4}]),
case use_cache(Mod, Host) of
true ->
CacheOpts = cache_opts(Opts),