igniterealtime / openfire-restAPI-plugin

Allows Openfire administration over a RESTful API.
http://www.igniterealtime.org/projects/openfire/plugin-archive.jsp?plugin=restAPI
Apache License 2.0
19 stars 53 forks source link

fixes #188: Fix for clustering data consistency issue with MUC rooms #189

Closed guusdk closed 10 months ago

guusdk commented 11 months ago

Since Openfire 4.7.0, a new API is available that ensures that MUC data is synchronized across Openfire cluster nodes. This commit adds support for this API.

As a result, data consistency with regards to MUC-related data (chatrooms, mostly), should improve.

This commit contains two related changes:

The addition of an additional mutex typically comes with a risk of introducing a deadlock-like scenario. As a mitigation for this, a new property has been introduced that controls if the mutex is engaged when the REST API interacts with MUC rooms.

The property name is plugin.restapi.muc.room-mutex.enabled and is enabled by default. To prevent mutex usage, this property can be switced to false.