powered by Jive Software

Openfire couldn't handler more connection

Hi team,

I have developed my openfire server on ubuntu server and right now it’s near about 2500 concurrent session when i am trying to establish new connection it is showing some error like below can anyone help me to find a better solutions.

018.09.21 12:02:34 org.jivesoftware.openfire.net.DNSUtil - Can’t process DNS lookup!
javax.naming.ConfigurationException [Root exception is java.net.SocketException: Too many open files (Error creating socket)]; remaining name ‘_jabber._tcp.broadcast.clusters.criccommentary.com.’
at com.sun.jndi.dns.DnsClient.getDatagramSocket(DnsClient.java:143)
at com.sun.jndi.dns.DnsClient.doUdpQuery(DnsClient.java:399)
at com.sun.jndi.dns.DnsClient.query(DnsClient.java:211)
at com.sun.jndi.dns.Resolver.query(Resolver.java:81)
at com.sun.jndi.dns.DnsContext.c_getAttributes(DnsContext.java:434)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(ComponentDirContext.java:235)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompositeDirContext.java:141)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompositeDirContext.java:129)
at javax.naming.directory.InitialDirContext.getAttributes(InitialDirContext.java:142)
at org.jivesoftware.openfire.net.DNSUtil.srvLookup(DNSUtil.java:207)
at org.jivesoftware.openfire.net.DNSUtil.resolveXMPPDomain(DNSUtil.java:103)
at org.jivesoftware.openfire.net.SocketUtil.createSocketToXmppDomain(SocketUtil.java:43)
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSession(LocalOutgoingServerSession.java:253)
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain(LocalOutgoingServerSession.java:210)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPacket(OutgoingSessionPromise.java:267)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(OutgoingSessionPromise.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Too many open files (Error creating socket)
at java.net.PlainDatagramSocketImpl.datagramSocketCreate(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.create(AbstractPlainDatagramSocketImpl.java:80)
at java.net.DatagramSocket.createImpl(DatagramSocket.java:337)
at java.net.DatagramSocket.<init>(DatagramSocket.java:239)
at java.net.DatagramSocket.<init>(DatagramSocket.java:196)
at com.sun.jndi.dns.DNSDatagramSocketFactory.openDefault(DNSDatagramSocketFactory.java:204)
at com.sun.jndi.dns.DNSDatagramSocketFactory.open(DNSDatagramSocketFactory.java:147)
at com.sun.jndi.dns.DnsClient.getDatagramSocket(DnsClient.java:141)
… 18 more

i have checked my hard and soft uliimit it is aroung 64000.

fs.flie-max = 17000

what should i check next?

Thanks,
Hiren Vavadiya

I’d just double check that your ulimit really is what you think it is - because it really does sounds like a ulimit issue.

What is the output of

su daemon --shell /bin/bash --command "ulimit -aH"
su daemon --shell /bin/bash --command "ulimit -aS"

??

Thanks for your response please check the below output from your requested commnads.

now i am getting error like below one

.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).
2018.09.25 12:18:36 org.jivesoftware.openfire.spi.RoutingTableImpl - Will not route: Remote domain broadcast.clusters.criccommentary.com is not accessible according to our configuration (typical causes: server federation is disabled, or domain is blacklisted).

2018.09.25 12:39:37 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: clusters.criccommentary.com to broadcast.clusters.criccommentary.com] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.
2018.09.25 12:39:37 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: clusters.criccommentary.com to broadcast.clusters.criccommentary.com] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.
2018.09.25 12:39:37 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: clusters.criccommentary.com to broadcast.clusters.criccommentary.com] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.
2018.09.25 12:39:37 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: clusters.criccommentary.com to broadcast.clusters.criccommentary.com] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.
2018.09.25 12:39:37 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: clusters.criccommentary.com to broadcast.clusters.criccommentary.com] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.
2018.09.25 12:39:38 org.jivesoftware.openfire.session.LocalOutgoingServerSession[Create outgoing session for: clusters.criccommentary.com to broadcast.clusters.criccommentary.com] - Unable to create new session: Cannot create a plain socket connection with any applicable remote host.
2

Is this a single node or clustered setup?

Greg

it is single server but i am broadcasting the message for all the online users.

Before that it was clustered but i have disabled now.

any clue on that?