qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleš Trček <Ales.Tr...@halcom.si>
Subject Qpid connection/session from JMS client with unreliable conection
Date Tue, 01 Apr 2014 15:42:55 GMT
Hi all,

I have been using qpid for more than a year now and never experienced any connection problems
before. However, currently we have some network issues in our company and one of the effects
is that qpid is constantly reporting errors with sync. This is happening in test environment,
but it has me worried what if we encounter these problems in production env too, so I wonder
whether this is expected behavior or a manifestation of some bug.
So, we have a VPN connection to another country and as said, recently there are some issues
with network - we have 1%-10% packet loss (tested with ping). Other applications are not seriously
affected by this (TCP/IP handles resending and such), but qpid seems to be. The broker (qpid
v0.24) is in my 'local' network and client (v0.24) that receives and sends msgs to it is on
the other side of the VPN connection. The client is constantly logging this:

17:11:08 568: ERROR Error getting message; error receiving message from the queue!
javax.jms.JMSException: Exception while receiving:timed out waiting for sync: complete = 139129,
point = 139133
        at org.apache.qpid.client.AMQSession.toJMSException(AMQSession.java:3465)
        at org.apache.qpid.client.BasicMessageConsumer.receive(BasicMessageConsumer.java:438)
        at com.halcom.qw.QWrapper.getMessage(QWrapper.java:133)
        at com.halcom.qw.QWrapper.getMessage(QWrapper.java:91)
        at threads.SendSmsThread.run(SendSmsThread.java:87)
Caused by: org.apache.qpid.transport.SessionException: timed out waiting for sync: complete
= 139129, point = 139133
        at org.apache.qpid.transport.Session.sync(Session.java:867)
        at org.apache.qpid.transport.Session.sync(Session.java:837)
        at org.apache.qpid.client.BasicMessageConsumer_0_10.getMessageFromQueue(BasicMessageConsumer_0_10.java:402)
        at org.apache.qpid.client.BasicMessageConsumer.receive(BasicMessageConsumer.java:420)
        ... 3 more

Note that some classes here are from our app.
The main problem is that every time this problem with the connection seems to occur, the client
waits for the sync timeout (which by default is 1 min, I have it set to 10s) and during that
time it doesn't process any messages. So from time to time (which can be every minute, depending
on the msg quantity and network problems) we have a period of 10s when no messages are handled.

The problem with connection manifests at time of connecting to queues too, like that:

org.apache.qpid.client.JMSAMQException: cannot create session
        at org.apache.qpid.client.AMQConnectionDelegate_0_10.createSession(AMQConnectionDelegate_0_10.java:122)
        at org.apache.qpid.client.AMQConnectionDelegate_0_10.createSession(AMQConnectionDelegate_0_10.java:94)
        at org.apache.qpid.client.AMQConnection.createSession(AMQConnection.java:667)
Caused by: org.apache.qpid.transport.SessionException: timed out waiting for session to become
open (state=NEW)
        at org.apache.qpid.transport.Session.invoke(Session.java:688)
        at org.apache.qpid.transport.Session.invoke(Session.java:627)
        at org.apache.qpid.transport.SessionInvoker.txSelect(SessionInvoker.java:141)
        at org.apache.qpid.client.AMQSession_0_10.createSession(AMQSession_0_10.java:200)
        at org.apache.qpid.client.AMQSession_0_10.<init>(AMQSession_0_10.java:178)
        at org.apache.qpid.client.AMQSession_0_10.<init>(AMQSession_0_10.java:225)
        at org.apache.qpid.client.AMQConnectionDelegate_0_10.createSession(AMQConnectionDelegate_0_10.java:111)
        ... 116 more

Other errors are reported too, depending on the stage in which the network problem occurred.
This errors are especially nasty, since - although I have broker reconnect configured - the
queue connections are not initialized and the whole application sits and does nothing without
Please advise.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message