Duplicate messages

Description

I'm getting a lot of duplicate messages in one-on-one chats on the Conversations client. I receive duplicate messages from remote senders, as well as carbon copies.

When this happens, I notice that in the admin console, more than one session exists for the resource.

Environment

None

Activity

Show:

Guus der Kinderen November 2, 2018 at 7:40 PM

I think the behavior was introduced by this change: https://github.com/igniterealtime/Openfire/commit/f1cdfefc471d1bacc07990e6f9161151b0b853da#diff-42211d9b12f65e2f7e539cc97c0308afL198

Here, the set of full jids got replaced by a list of full jids - allowing for duplicates.

Guus der Kinderen November 2, 2018 at 4:07 PM

I seem to reproduce creating stale content in the "usersSessions" cache by simply logging in and logging out again. I did this with the Inverse plugin on a local build, that's pretty recent.

Guus der Kinderen November 2, 2018 at 3:28 PM

I've found that the "usersSessions" cache in RoutingTableImpl, which maps bare JID to full JIDs, has a lot of duplicate full JID values for one entry. Additionally, there are full JIDs in the collection that relate to sessions that are already gone.

Simply preventing duplicate full JIDs does therefor not seem the correct solution (although it does help). Something appears to be preventing JIDs from getting removed from that cache.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created November 2, 2018 at 1:57 PM
Updated November 3, 2018 at 2:13 PM
Resolved November 3, 2018 at 2:13 PM