[ 
https://issues.apache.org/activemq/browse/AMQ-2147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=50794#action_50794
 ] 

Gary Tully commented on AMQ-2147:
---------------------------------

{quote}1. why the delete temporary topic is blocked ?
As far as I can see , it's an internal communication inside the broker which 
should release resources and therefore should not be blocked.
Does the flow control feature blocks an internal messages also?
{quote}
Yes.

{quote}2. what will happen if setting producerFlowControl="false" and what is 
different from setting <systemUsage sendFailIfNoSpace="true">.{quote}
With flow controll false, a send on the broker will block waiting for space to 
become availalbe, the client will experience a hang. All other users of the 
connection will also be locked out awaiting a response from the broker.

with sendFail..., if there is no space, the broker will respond with an 
exception that will be propagated back to the client so the client will see an 
exception rather than a hang.

> deleteTempDestination hangs when MemoryUsage.waitForSpace () is blocked
> -----------------------------------------------------------------------
>
>                 Key: AMQ-2147
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2147
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: ActiveMQ 5.1embedded in Apache Tomcat 6.0.18 
> environment, Java(TM) 2 Runtime Environment, Standard Edition (build 
> 1.5.0_16-b02)
> , CentOS4.4
>            Reporter: Yossi Shmulevitch
>             Fix For: 5.3.0
>
>
> Delete temporary queue hangs:
> "pool-5-thread-2" prio=1 tid=0x65be6cc8 nid=0x73f5 waiting on condition 
> [0x5a6fe000..0x5a6ff130]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown
>  Source)
>         at java.util.concurrent.ArrayBlockingQueue.take(Unknown Source)
>         at 
> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
>         at 
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:80)
>         at 
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1195)
>         at 
> org.apache.activemq.ActiveMQConnection.deleteTempDestination(ActiveMQConnection.java:1791)
>         at 
> org.apache.activemq.command.ActiveMQTempDestination.delete(ActiveMQTempDestination.java:51)
>         ....
> and createTemporaryTopic fails:
> "http-443-6" daemon prio=1 tid=0x098a2e88 nid=0x35ca waiting on condition 
> [0x5dfcd000..0x5dfcdf30]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown
>  Source)
>         at java.util.concurrent.ArrayBlockingQueue.take(Unknown Source)
>         at 
> org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
>         at 
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:80)
>         at 
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1195)
>         at 
> org.apache.activemq.ActiveMQConnection.createTempDestination(ActiveMQConnection.java:1762)
>         at 
> org.apache.activemq.ActiveMQSession.createTemporaryTopic(ActiveMQSession.java:1232)
> When Memory Usage is blocked (100%):
> ActiveMQ Transport: ssl:///127.0.0.1:33469" daemon prio=1 tid=0x0ac5f5d0 
> nid=0x3470 in Object.wait() [0x5e33d000..0x5e33e1b0]
>         at java.lang.Object.wait(Native Method)
>         at 
> org.apache.activemq.usage.MemoryUsage.waitForSpace(MemoryUsage.java:85)
>         - locked <0x7269f500> (a java.lang.Object)
>         at 
> org.apache.activemq.usage.MemoryUsage.waitForSpace(MemoryUsage.java:79)
>         at org.apache.activemq.broker.region.Topic.send(Topic.java:341)
>         at 
> org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.java:345)
>         at 
> org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:445)
>         at 
> org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:224)
>         at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:125)
>         at 
> org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:95)
>         at org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:125)
>         at 
> org.apache.activemq.broker.MutableBrokerFilter.send(MutableBrokerFilter.java:132)
>         at 
> org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:437)
>         at 
> org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:624)
>         at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
>         at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
>         at 
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at 
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at 
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         - locked <0x7378cf58> (a 
> org.apache.activemq.transport.InactivityMonitor$1)
>         at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at 
> org.apache.activemq.transport.tcp.SslTransport.doConsume(SslTransport.java:104)
>         at 
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
>         at java.lang.Thread.run(Unknown Source)
> These stack traces were taken from our web application

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to