powered by Jive Software

Clearing all caches results in broken chat

Openfire: 3.6.3

I’ve gotten in the habit of clearing the server caches on occasion after making a lot of ldap changes to force the server to pick them up right away.

I was doing that tonight and discovered a repeatable issue: Clearing the cache’s breaks the group chat service. (We’re using the default ‘conference’ service)

Immediately after clearing the cache the following error is present in the logs:

2009.02.05 18:24:52 [org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain(LocalOutgoingServerSession.java:214)] Error authenticating domain with remote server: conference.jabber.company.com
java.lang.ClassCastException: org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents cannot be cast to org.jivesoftware.openfire.session.OutgoingServerSession
        at org.jivesoftware.openfire.spi.RoutingTableImpl.getServerRoute(RoutingTableImpl.java:548)
        at org.jivesoftware.openfire.SessionManager.getOutgoingServerSession(SessionManager.java:822)
        at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain(LocalOutgoingServerSession.java:121)
        at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPacket(OutgoingSessionPromise.java:239)
        at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(OutgoingSessionPromise.java:216)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

And any attempt to join a room or get a room list via any client (including spark) results in a failed error message.

The first time this happened I tried to figure out a way to “restart” the service and ended up creating a new one called “conference2”. And then a subsequent attempt to delete “conference2” resulted in “conference” being deleted and all our rooms and permissions were wiped out. I had to revert to a previous version of the database to restore the rooms.

I restored the whole thing in a dev environment and I am able to reproduce it repeatedly.

At the moment it appears there is no safe way to clear the cache without breaking chat?



Yup, I have noticed the same thing.

My post may not have mentioned it, but yes, clearing the cache blows up MUC.


It’d be nice to get a bug opened for this issue, so that it will get addressed in future releases.