You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Martyn Taylor (JIRA)" <ji...@apache.org> on 2015/10/27 15:41:27 UTC
[jira] [Created] (ARTEMIS-284) Prevent thread interleaving on
ClientConsumerImpl close methods
Martyn Taylor created ARTEMIS-284:
-------------------------------------
Summary: Prevent thread interleaving on ClientConsumerImpl close methods
Key: ARTEMIS-284
URL: https://issues.apache.org/jira/browse/ARTEMIS-284
Project: ActiveMQ Artemis
Issue Type: Bug
Components: Broker
Affects Versions: 1.1.0
Reporter: Martyn Taylor
There are situations where a consumer can be closed down from a number of places, for example:
* If a client topic is deleted from the server, the server issues a CloseConsumer packet, which will trigger the consumer to close.
* When an MDB is shutdown all Consumers assocated with the MDB are closed.
A problem arises when these things happen parrallel and multiple threads try to close down a consumer. The consumer will eventually log warning messages and ultimately throw an error.
11:18:54,631 WARN [org.apache.activemq.artemis.core.client] (Thread-16 (ActiveMQ-client-global-threads-633087758)) AMQ212002: Timed out waiting for handler to complete processing
11:18:54,632 ERROR [org.apache.activemq.artemis.core.server] (Thread-11 (ActiveMQ-remoting-threads-ActiveMQServerImpl::serverUUID=d370b51e-7678-11e5-b10e-af2a5d4a5196-148307791-514838245)) AMQ224049: Cannot find consumer with id 0
Add some concurrency control around the Consumer.Close method should resolve this.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)