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)