powered by Jive Software

ClassNotFoundException UserParticipations when retrieving active conversations in a Cluster

In a clustered environment with two OF 4.5.2 with Monitoring plugin 2.0.1 retrieving the conversations is not successful on the Junior Node.
This is caused by a ClassNotFoundException on the UserParticipations class

2020.07.24 09:35:52 ERROR [Jetty-QTP-AdminConsole-323]: org.jivesoftware.openfire.plugin.util.cache.ClusteredCacheFactory - Failed to execute cluster task
com.hazelcast.nio.serialization.HazelcastSerializationException: Problem while reading Externalizable class: org.jivesoftware.openfire.archive.Conversation, exception: java.io.IOException: java.lang.ClassNotFoundException: org.jivesoftware.openfire.archive.UserParticipations
at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$ExternalizableSerializer.read(JavaDefaultSerializers.java:159) ~[?:?]
at com.hazelcast.internal.serialization.impl.JavaDefaultSerializers$ExternalizableSerializer.read(JavaDefaultSerializers.java:135) ~[?:?]
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:48) ~[?:?]
...
at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:191) ~[?:?]
at com.hazelcast.util.executor.DelegatingFuture.get(DelegatingFuture.java:88) ~[?:?]
at org.jivesoftware.openfire.plugin.util.cache.ClusteredCacheFactory.doSynchronousClusterTask(ClusteredCacheFactory.java:459) ~[?:?]
at org.jivesoftware.util.cache.CacheFactory.doSynchronousClusterTask(CacheFactory.java:724) ~[xmppserver-4.5.2.jar:4.5.2]
at org.jivesoftware.openfire.archive.ConversationManager.getConversation(ConversationManager.java:525) ~[?:?]
at org.jivesoftware.openfire.archive.ConversationUtils.getConversationInfo(ConversationUtils.java:103) ~[?:?]
at org.jivesoftware.openfire.plugin.service.MonitoringAPI.getInfo(MonitoringAPI.java:39) ~[?:?]

I am able to reproduce this issue. It seems to occur only when there are active conversations. It doesn’t occur on the senior cluster node.

I’ve raised this issue: https://github.com/igniterealtime/openfire-monitoring-plugin/issues/120