Hello,
we have a pure master slave broker (activemq 5.3.0) because we need HA
messaging
queuing.
The broker has a topic with one subscribe and a queue. The topic
receives xml messages which are written to a database by the subscriber
and afterwards a notification is send to the queue which just contains
the message id.
I started with the default configuration and only modified it as
described in
the pure master slave documentation, but the default contains
<policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb">
and
<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">,
the small memory limit caused throttling in the slave for the topic, at
least this log
entry appeared on the slave:
INFO | Usage Manager memory limit reached for topic://MessageFeed.
Producers will be throttled to the rate at which messages are removed
from this destination to prevent flooding it. See
http://activemq.apache.org/producer-flow-control.html for more info
Afterwards the master was just hanging and dequeuing messages from the topic
or the queue was not possible.
I increased the memory limit but and gave the slave a little more
memory, but is
that enough to make sure it cannot happen again ? Is there a way that
the slave can
just fail if something goes wrong and not block the master ?
I also would love to learn how a slave can be re-attached to the master
in case
the slave machine fails, the documentation only describes what must be done
to recover from a master failure (but maybe I missed something).
Thanks,
Jörn