igniterealtime/openfire-monitoring-plugin

Recent MUC messages missing in archive result

Closed this issue · 2 comments

The response to a (MAM) query for a chatroom should, but does not always, include all messages that were exchanged in the MUC at the time that the query was issued.

The MUC persistence manager writes message archives periodically (in batches), while the MAM implementation expects all archived messages to be in the database immediately. This can lead to situations where "the last few" messages in a MUC are not included in the response for a message archive.

This issue is closely related to https://issues.igniterealtime.org/browse/OF-1200, which resolved a similar issue. In OF-1200, the mechanism in which the Monitoring plugin writes data to the database was changed. When the Monitoring plugin is constructing a MAM response, it uses data written to the database by itself, but also by the MUC persistence manager. The latter was unaffected by OF-1200 (which likely was an oversight at the the time).

https://issues.igniterealtime.org/browse/OF-1788 should make available a mechanism in Openfire that can be used by the Monitoring plugin, to fix this issue.

Fixed in 1.8.0.