Openfire/Spark roster slow to load

I’ve seen multiple posts about this, but quite a few are older. We are in the process of rolling out Openfire and the Spark client in our environment and I notice that after login to the Spark client the roster is taking longer and longer to load. In addition I am seeing the below errors in the server log pop up quite often.

I originally also experienced very slow User/Group management access from the admin console using LDAPS, but was able to resolve this. See the below post:

Openfire LDAP authentication and restrictions

Originally I did set out to configure SSO, but gave up… I just created an internal rDNS record for the FQDN we are using to access the Openfire server… We do not use the hostname as we wanted it to be accessible inside an out of the network. So the hostname is LFNOPENFIRE, but everyone plugs in “im.domain.com” to get to the server.

Any insight would be great. Would like to get in front of this problem before we have multiple users connected.


Error Log:

2015.02.27 09:40:33 org.jivesoftware.openfire.handler.IQHandler - Internal server error

java.lang.NullPointerException

at java.util.regex.Matcher.quoteReplacement(Matcher.java:655)

at org.jivesoftware.openfire.ldap.LdapVCardProvider$VCard.treeWalk(LdapVCardProvid er.java:543)

at org.jivesoftware.openfire.ldap.LdapVCardProvider$VCard.treeWalk(LdapVCardProvid er.java:547)

at org.jivesoftware.openfire.ldap.LdapVCardProvider$VCard.getVCard(LdapVCardProvid er.java:524)

at org.jivesoftware.openfire.ldap.LdapVCardProvider.loadVCard(LdapVCardProvider.ja va:234)

at org.jivesoftware.openfire.vcard.VCardManager.getOrLoadVCard(VCardManager.java:2 40)

at org.jivesoftware.openfire.vcard.VCardManager.getVCard(VCardManager.java:233)

at org.jivesoftware.openfire.handler.IQvCardHandler.handleIQ(IQvCardHandler.java:1 19)

at org.jivesoftware.openfire.handler.IQHandler.process(IQHandler.java:65)

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:375)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:122)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:76)

at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:330)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:93)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:295)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:187)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:181)

Warn Log:

**2015.02.27 08:48:07 org.jivesoftware.openfire.net.SocketReader - Closing session due to incorrect hostname in stream header. Host: im.domain.com. Connection: org.jivesoftware.openfire.net.SocketConnection@3d9a523a socket: Socket[addr=/192.168.88.42,port=59712,localport=5269] session: null**

2015.02.27 08:48:07 org.jivesoftware.openfire.session.LocalOutgoingServerSession - Error trying to connect to remote server: domain.com(DNS lookup: domain.com:5269): java.net.ConnectException: Connection refused

2015.02.27 09:38:58 org.jivesoftware.openfire.IQRouter - Error or result packet could not be delivered <iq type="result" id="9bsk7-152" to="useraccount1@lfnopenfire/Spark 2.6.3"><query xmlns="jabber:iq:private"><scratchpad xmlns="scratchpad:tasks"/></query></iq>

~~~~~~~~~~~~

Server details:

Openfire 3.9.3

Java 1.7.0_72 Oracle Corporation - Java HotSpot(TM) 64-Bit Server VM

Hostname: LFNOPENFIRE

OS / Hardware: Linux / amd64

Ubuntu 14.04.1 LTS

MySQL 5.6.19-0ubuntu0.14.04.1

I just turned the debug log on and started seeing this:

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA] NOT_HANDSHAKING

Looks like each instance is related to a specific client IP. Not sure what it means or if it is helpful.

Not a Openfire expert but it looks like the server is trying to contact a remote host for getting roster status…
May a wrong set JID for some users in the roster?

Regards

Andreas