qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Sim (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-7230) Broker terminates the connection to JMS Client
Date Fri, 29 Apr 2016 17:40:12 GMT

    [ https://issues.apache.org/jira/browse/QPID-7230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15264403#comment-15264403
] 

Gordon Sim commented on QPID-7230:
----------------------------------

The original description sounds very much like it is a queue limit issue. I modified the Sender
example that comes with the qpid jms client to send 20k messages. Running that against a broker
with default config on my laptop gives: 

{noformat}
[1569627428:1] -> Transfer{handle=0, deliveryId=6, deliveryTag=2, messageFormat=0, settled=null,
more=false, rcvSettleMode=null, state=null, resume=false, aborted=false, batchable=false}
(20000140) "\x00Sp\xc0\x02\x01B\x00Sr\xc1)\x04\xa3\x0ex-opt-jms-destQ\x00\xa3\x12x-opt-jms-msg-typeQ\x05\x00Ss\xc0J\x0a\xa10ID::552ab624-9f10-4ce2-a9d0-11aa2508088b:1:1:1-7@\xa1\x05queue@@@@@@\x83\x00\x00\x01Tb\xe0\x03\xaa\x00Sw\xb1\x011-\x00xoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxo"...(truncated)
[1569627428:1] <- Detach{handle=0, closed=true, error=Error{condition=amqp:precondition-failed,
description='resource-limit-exceeded: Maximum depth exceeded on queue: current=[count: 5,
size: 100000700], max=[size: 104857600] (/home/gordon/projects/qpid/qpid/cpp/src/qpid/broker/Queue.cpp:1633)',
info=null}}
[1569627428:1] -> Detach{handle=0, closed=true, error=null}
Caught exception, exiting.
javax.jms.JMSException: send not allowed after the sender is closed.
	at org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:66)
	at org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:88)
	at org.apache.qpid.jms.JmsConnection.send(JmsConnection.java:632)
	at org.apache.qpid.jms.JmsConnection.send(JmsConnection.java:616)
	at org.apache.qpid.jms.JmsNoTxTransactionContext.send(JmsNoTxTransactionContext.java:37)
	at org.apache.qpid.jms.JmsSession.send(JmsSession.java:699)
	at org.apache.qpid.jms.JmsSession.send(JmsSession.java:620)
	at org.apache.qpid.jms.JmsMessageProducer.sendMessage(JmsMessageProducer.java:172)
	at org.apache.qpid.jms.JmsMessageProducer.send(JmsMessageProducer.java:148)
	at Sender.main(Sender.java:80)
Caused by: java.io.IOException: send not allowed after the sender is closed.
	at org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
	at org.apache.qpid.jms.provider.ProviderFuture.failOnError(ProviderFuture.java:108)
	at org.apache.qpid.jms.provider.ProviderFuture.sync(ProviderFuture.java:102)
	at org.apache.qpid.jms.JmsConnection.send(JmsConnection.java:627)
	... 7 more
Caused by: java.lang.IllegalStateException: send not allowed after the sender is closed.
	at org.apache.qpid.proton.engine.impl.SenderImpl.send(SenderImpl.java:47)
	at org.apache.qpid.jms.provider.amqp.AmqpFixedProducer.encodeAndSend(AmqpFixedProducer.java:178)
	at org.apache.qpid.jms.provider.amqp.AmqpFixedProducer.doSend(AmqpFixedProducer.java:141)
	at org.apache.qpid.jms.provider.amqp.AmqpFixedProducer.send(AmqpFixedProducer.java:105)
	at org.apache.qpid.jms.provider.amqp.AmqpProvider$8.run(AmqpProvider.java:481)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
{noformat}

That said, the handling of large messages by the c++ broker is very slow over AMQP 1.0. I'll
raise a separate JIRA for that.

> Broker terminates the connection to JMS Client
> ----------------------------------------------
>
>                 Key: QPID-7230
>                 URL: https://issues.apache.org/jira/browse/QPID-7230
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, Java Client
>    Affects Versions: 0.32
>         Environment: Fedora21 and C++ Broker installed by package manager
>            Reporter: Ben
>         Attachments: 200-a.log, 300-a.log
>
>
> Following scenario: 
> One Producer and one Consumer created by a Java JMS-Client. The Producer is sending 200x15mb
non persistent messages to a queue. This queue is located on a local running c++ broker. After
few messages my broker terminates the connection with the following exception.
> javax.jms.JMSException: send not allowed after the sender is closed.
> The really astonishing is, that this behavior only occurs with non persistent messages.
If I change the delivery mode to persistent, my broker won't close the connection.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message