Hi Openfire Developers,
We are planning to use Openfire under austere conditions. For the deployment we need multiple federated Openfire 3.6.4 servers over wireless networks. We want to find out whether Openfire can be used over low bandwidth e.g. wireless data links. We get massive logs entries and think that the problems are related to known issues that are already in Tasker Tracker or are bugs / memory leaks that were reported in other threads. Some examples are given below:
error.log
2010.03.07 21:01:35
[org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSess
ion(LocalOutgoingServerSession.java:258)
] Error trying to connect to remote server: domain(DNS lookup:
domain:5269)
java.net.UnknownHostException: domain
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at
org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSessi
on(LocalOutgoingServerSession.java:253)
at
org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain(
LocalOutgoingServerSession.java:185)
at
org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPac
ket(OutgoingSessionPromise.java:239)
at
org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Out
goingSessionPromise.java:216)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2010.03.07 21:01:37
[org.jivesoftware.openfire.session.LocalOutgoingServerSession
debug.log
2010.03.08 13:57:57 ConnectionHandler:
java.io.IOException: An existing connection was forcibly closed by the remote
host
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
at
org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.ja
va:218)
at
org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor
.java:198)
at
org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProces
sor.java:45)
at
org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProces
sor.java:485)
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2010.03.08 13:58:02 Waiting to get complete char: (z((( Q 9 8 5 ( (
( ( 3 2 / (( (( ( ( (( ( ( ( ( @ ( ( ( (( ( ((
((c((e(l(((P((U#(b1((:(((((/((|(
2010.03.08 13:58:07 030156 (01/24/00) - Connection #19 tested: OK
2010.03.08 13:58:07 030157 (01/24/00) - Connection #19 tested: OK
2010.03.08 13:59:25 030219 (02/24/00) - Connection #14 tested: OK
2010.03.08 13:59:25 030220 (02/24/00) - Connection #12 tested: OK
2010.03.08 13:59:25 030221 (02/24/00) - Connection #12 tested: OK
2010.03.08 13:59:25 030221 (02/24/00) - Connection #11 tested: OK
2010.03.08 13:59:25 030222 (02/24/00) - Connection #11 tested: OK
2010.03.08 13:59:25 Closing statement b19a55 (belonging to connection 14)
automatically
2010.03.08 13:59:25 Closing statement 13e25d0 (belonging to connection 14)
automatically
2010.03.08 13:59:25 030222 (01/24/00) - Connection #14 tested: OK
2010.03.08 13:59:27 030222 (01/24/00) - Connection #15 tested: OK
2010.03.08 13:59:27 030223 (01/24/00) - #15 registered a statement as closed
which wasn’t known to be open. This could happen if you close a statement twice.
2010.03.08 13:59:27 030223 (01/24/00) - Connection #15 tested: OK
warn.log
2010.03.08 13:38:35 Closing session due to exception: (SOCKET, R:
/v.w.y.z:2038, L: /v.w.x.y:5222, S: 0.0.0.0/0.0.0.0:5222)
org.apache.mina.filter.codec.ProtocolDecoderException: java.lang.Exception:
Disallowed character (Hexdump: 80 7A 01 03 01 00 51 00 00 00 20 00 00 39 00 00
38 00 00 35 00 00 16 00 00 13 00 00 0A 07 00 C0 00 00 33 00 00 32 00 00 2F 00 00
07 05 00 80 03 00 80 00 00 05 00 00 04 01 00 80 00 00 15 00 00 12 00 00 09 06 00
40 00 00 14 00 00 11 00 00 08 00 00 06 04 00 80 00 00 03 02 00 80 7D 8F 88 74 90
5D 6F 63 E6 DF 81 35 E9 C3 68 26 00 5F BD 3A 1D 13 84 77 09 8C 6A 48 57 D9 4F
E3)
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFi
lter.java:170)
at
org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Abs
tractIoFilterChain.java:299)
at
org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilte
rChain.java:53)
at
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceived
(AbstractIoFilterChain.java:648)
at
org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java:
at
org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Executo
rFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.Exception: Disallowed character
at
org.jivesoftware.openfire.nio.XMLLightweightParser.read(XMLLightweightParser.jav
a:211)
at
org.jivesoftware.openfire.nio.XMPPDecoder.doDecode(XMPPDecoder.java:32)
at
org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtocol
Decoder.java:133)
at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFi
lter.java:163)
… 9 more
Here are my questions:
1.) Since MINA throws most of the exceptions are there plans to replace it with netty ?
2.) The following known issues have already been fixed in OF 3.7.0 beta. When will it be released?
-
OF-341: Openfire shouldn’t close idle client connections unconditionally.
-
OF-345: MINA’s SessionCreated or SessionOpened?
-
OF-79: NullPointerException if no DNS SRV records can be found for a particular domain
-
OF-78: Update Tinder to 1.2.1
-
OF-76: Limit the size of queues
-
OF-75: Packets sent to non-connected components are processed by OutgoingSessionPromise
-
OF-72: Openfire can’t detect broken clients’ connections
-
OF-70: Unresponsive clients cause Openfire to run out of memory
-
OF-46: Upgrading Openfire to use Jetty 7 Continuations
-
OF-41: Fix exception on MUC-room-affiliations
3.) The following issues maybe related but will not be fixed anytime soon:
-
OF-122: Massive errors in rooms permissions and options
-
OF-91: Client session will be terminate when receiving invalid surrogate characters
-
OF-238: Improve performance when loading huge number of rooms history
-
OF-356: Newlines in the stream tag are not handled properly
-
OF-115: fix “the s2s out of order issue” (MUC messages in wrong)
-
OF274: improve DNS cache
-
OF-306: review and fix outgoing connection
-
OF-134: Update Jetty to latest version
-
OF-114: Clearing cache can lock up MUC
-
OF-110: Huge list of offline messages may consume all server memory
How can we support?