[ 
https://issues.apache.org/jira/browse/AMQ-6240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ken Hall updated AMQ-6240:
--------------------------
    Attachment: brokertd.zip

Hi Gary - thanks for the quick response. 
Attached is a zip of the thread dump of the broker process
If you need any more info let me know

> Producer cannot be terminated when slow consumer is detected
> ------------------------------------------------------------
>
>                 Key: AMQ-6240
>                 URL: https://issues.apache.org/jira/browse/AMQ-6240
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 5.13.2
>         Environment: The test was run using an out of the box install of 
> ActiveMQ 5.13.2 on Windows 7 Professional (64 bit). 
> The java version used was jdk1.8.0_60
>            Reporter: Ken Hall
>         Attachments: brokertd.zip
>
>
> There is a discussion relating to the bug here - 
> http://activemq.2283324.n4.nabble.com/Force-Producer-to-fail-when-blocked-by-slow-consumer-td4710264.html.
>  Test code to reproduce the problem  has also been uploaded to this 
> discussion.
> We have  a situation where we have a producer which is feeding a slow 
> consumer.
> The consumer belongs to a third party so we do not have control over the 
> broker configuration.
> We would like to terminate our producer but we find that we cannot do so. We 
> can set the timeout on the connection and we then trap the timeout exception. 
> The problem is that when we try to close the session it attempts to rollback 
> but cannot do so as the rollback blocks.
> We have created a small test that is included in the zip (mentioned above) of 
> an Eclipse project.The zip includes three classes. Call the main method of 
> RunTest to run the test. The activemq.xml used is in the root directory of 
> the project. 
> The program will timeout after 51 messages and attempt to close the session. 
> It eventually locks in this line: 
>             this.connection.syncSendPacket(info); 
> in the rollback method of the TransactionContext class.
> We believe that the most sensible solution to this is that the rollback 
> should respond to the same timeout as the connection.



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

Reply via email to