LocalMUCRoom savedToDb state change not propagated to other nodes

Hi, I’m using openfire 4.3.2 in clustered installation.

Whenever a LocalMUCRoom persistent room’s saveToDb state is toggled,

other cluster nodes should be made aware of the update.

Otherwise, other nodes will not be able to delete it from database,

only the node where the room was created (via RestAPI) will be able to delete it from db.

here is an excerpt from master
LocalMUCRoom.java

and, this change seem to fix the issue for me:

    @Override
    public void saveToDB() {
        // Make the room persistent
        MUCPersistenceManager.saveToDB(this);
        if (!savedToDB) {
            // Set that the room is now in the DB
            savedToDB = true;

            // Notify other cluster nodes that the room is now in DB
            CacheFactory.doClusterTask(new RoomUpdatedEvent(this));   
        
            // Save the existing room owners to the DB

Thank so much for your time.

Thanks - this looks like a good fix. Are you able to generate a PR for this?

Greg

Hi Greg,

Here is the PR: https://github.com/igniterealtime/Openfire/pull/1326

Thanks again

Thanks. This is the related ticket https://issues.igniterealtime.org/browse/OF-1721

Hi - thanks for the PR, it’s appreciated, now merged, and will be incorporated in the 4.4 release.

Greg