From 52ac9410346b833262b876e8a120c7532955ab47 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Tue, 25 Jan 2022 16:57:27 +0100 Subject: [PATCH] mod_shared_roster: Adjust special group cache size MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Jürgensmann for reporting the issue. --- src/mod_shared_roster.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl index 358a8df32..f92e16496 100644 --- a/src/mod_shared_roster.erl +++ b/src/mod_shared_roster.erl @@ -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),