Uploaded image for project: 'Openfire'
  1. Openfire
  2. OF-1540

Rest API and Multi-node Hazelcast cluster - Delete Room not propagated to other nodes

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.2.3
    • Fix Version/s: 4.3.0
    • Component/s: Plugins
    • Labels:

      Description

      This is a bug in the REST API's delete MUC Room service, when Hazelcast clustering is enabled, and there is more than one Openfire/Hazelcast node in the cluster.

      The failure happens when a MUCRoom is deleted via REST. It will be deleted on node which received, but it will still exist on the other nodes of the openfire cluster.

      In the case of deleting a room, with multi-node clustering enabled, sending RoomRemovedEvent to the other cluster nodes will resolve the issue.

              if (chatRoom != null) {
                  chatRoom.destroyRoom(null, null);
                  if (ClusterManager.isClusteringStarted()) { // Added block for clustering enabled
                      CacheFactory.doClusterTask(new RoomRemovedEvent((LocalMUCRoom) chatRoom)); 
                  }            
              } else {
                  throw new ServiceException("Could not remove the channel", roomName, ExceptionType.ROOM_NOT_FOUND, Response.Status.NOT_FOUND);
              }
      

        Attachments

          Activity

            People

            Assignee:
            dharrison David Harrison
            Reporter:
            dharrison David Harrison
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: