I have traced this a bit more and the problem is bigger than I thought.  What
I am seeing is that while SubscriptionRecoveryPolicy is running, a lock is
taken out that prevents ANY producer or consumer from being added or removed
from BrokerRegion.

Note that this prevents ANY connection to the broker from creating
subscriptions or from becoming a new producer for a destination.  From the
perspective of many client applications this can actually look like a hang
in completing the connection (if, for example, their connection tries to
subscribe to Advisory messaging automatically, which seems to be the
default).

This seems pretty bad to me.  Especially since I expect my recovery actions
to take a while (lots and lots of messages from a special message store).

I'm not sure how to fix this, although I am willing to give it a shot if
someone could provide an explanation around the synchronization of
BrokerRegion.purgeInactiveDestinationsTask.

I have logged a bug here:

https://issues.apache.org/jira/browse/AMQ-3070
-- 
View this message in context: 
http://activemq.2283324.n4.nabble.com/How-to-safely-consume-a-topic-from-INSIDE-the-broker-tp3068674p3072049.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to