activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (AMQ-6240) Producer cannot be terminated when slow consumer is detected
Date Wed, 13 Apr 2016 11:03:25 GMT


ASF subversion and git services commented on AMQ-6240:

Commit 77d46dc139284141336591af649c0cc1da790cd0 in activemq's branch refs/heads/master from
[;h=77d46dc ] use sendTimout on sync rollback on close such
that a blocked connection won't block a close

> Producer cannot be terminated when slow consumer is detected
> ------------------------------------------------------------
>                 Key: AMQ-6240
>                 URL:
>             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
>            Assignee: Gary Tully
>         Attachments:
> There is a discussion relating to the bug here -
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
> 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

View raw message