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 them.
Please advise.


Regards,
Ales

Reply via email to