In the GroupManager class, the groupMetaCache has several forms of key. One of them is populated in the getSharedGroups(String userName) method, where the userName is the node string (for example, "user" where "user@domain/res" is the full jid).
However in several parts of the GroupManager class the evict of he cache is done using the bareJid.
@herzmann, yes, it does!
Actually in this issue was a misunderstanding of the use of groupMetaCache keys.
After some inspections, the conclusion is
Key | Use | Example |
---|---|---|
userBareJid | getGroups(user) | user001@domain |
userNode | getSharedGroups(username) | user001 |
However some bugs still exit. They are addressed in
Is this issue still now valid?
Hi @akrherz. I'm sorry for the delay in responding.
This issue is still valid. The cause is that following lines have no effect:
I reported the reason in PR 1235
https://github.com/igniterealtime/Openfire/pull/1235
In order to simulate the error:
1) create a group
2) go to page /group-summary.jsp
The group does not appear in the list despite it is counted in "Total Groups: X".
After clean the "Group Metadata Cache" in /system-cache.jsp, the group appears in /group-summary.jsp
I think that is critical, and it was released in the fresh 4.3.0 release.
The PR at https://github.com/igniterealtime/Openfire/pull/1271 may well have solved this, but I'm unsure as to if it's fixed it or not,