Evaluate if additional event listeners are required

Description

When joining or leaving a cluster, there's an obvious state change: data that lives on other cluster nodes either becomes available, or access to that data is lost. In certain instances, it might be needed to trigger event listeners, or follow up with additional actions.

In particular, evaluate if it is needed that other cluster nodes (re)generate presence updates to make the joining node aware of sessions that exist on them. This could be similar to what already is implemented for the joining node: it iterates over all its local client routes and simulates that they just became available (see org.jivesoftware.openfire.spi.RoutingTableImpl#joinedCluster()

Environment

None

relates to

Activity

Show:

Guus der Kinderen November 12, 2021 at 1:29 PM

With the MUC-oriented rewrite of Clustering, we’ve introduced a scheme where a clustered cache is supported by up to two other data structures. Those structures are used to generate the appropriate ‘cluster-local’ events where needed. This has been proven quite successful.

Where a similar need arises that has not been addressed yet, the same technique can be used.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Priority

Created August 26, 2020 at 2:54 PM
Updated November 12, 2021 at 1:29 PM
Resolved November 12, 2021 at 1:29 PM