On 04/09/2012 09:18 PM, ParkiratBagga wrote:
Even Java Spout Example is giving the following exception while running with
c++ broker.

*Queue Config:*
que  --durable --file-size=100 --file-count=8 --max-queue-size=2242880
--max-queue-count=10 --limit-policy=flow-to-disk

*Spout Config:*
-b=guest:guest@<host>:5672 -c=100000
--content=PersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistencePersistence
'que'

====================================================
*Exception Log:*
Exception in thread "main" javax.jms.JMSException: Exception when sending
message
        at
org.apache.qpid.client.BasicMessageProducer_0_10.sendMessage(BasicMessageProducer_0_10.java:240)
        at
org.apache.qpid.client.BasicMessageProducer.sendImpl(BasicMessageProducer.java:501)
        at
org.apache.qpid.client.BasicMessageProducer.sendImpl(BasicMessageProducer.java:456)
        at
org.apache.qpid.client.BasicMessageProducer.send(BasicMessageProducer.java:283)
        at org.apache.qpid.example.Spout.<init>(Spout.java:98)
        at org.apache.qpid.example.Spout.main(Spout.java:146)
Caused by: org.apache.qpid.transport.SessionException: timed out waiting for
completion
        at org.apache.qpid.transport.Session.invoke(Session.java:688)
        at org.apache.qpid.transport.Session.invoke(Session.java:559)
        at
org.apache.qpid.transport.SessionInvoker.messageTransfer(SessionInvoker.java:96)
        at
org.apache.qpid.client.BasicMessageProducer_0_10.sendMessage(BasicMessageProducer_0_10.java:226)
        ... 5 more
====================================================

This looks like it is due to the brokers attempt to flow control the client. By default, the broker will stop acknowledging messages when it reaches 80% of queue capacity (except for ring queues).

You can disable that by either setting the --default-flow-stop-threshold and --default-flow-resume-threshold options to qpidd to 0 (i.e. globally disabling the default) or setting the --flow-stop-count= and --flow-resume-count options to qpid-config to 0 (i.e. disable per-queue)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to