On 09/20/2011 11:42 PM, Brandon Pedersen wrote:
Is there any way to verify that it is indeed ack'ing those messages?
You can use qpid-stat to check the properties of the subscription and
observe the messages on the queue being dequeued as consumed by
downstream broker.
On Tue, Sep 20, 2011 at 4:40 PM, Brandon Pedersen<[email protected]> wrote:
Yeah, I used 1 for ack
On Tue, Sep 20, 2011 at 4:19 PM, Ted Ross<[email protected]> wrote:
Did you use a large number for the --ack argument in the route? Try using
1.
It appears that the ack-batching is quite literal and the downstream broker
*only* acks on modulo-N messages (i.e. it doesn't ack gratuitously after a
period of inactivity).
-Ted
On 09/20/2011 05:22 PM, Brandon Pedersen wrote:
Thank you! This almost works ;) I was worried about doing this because
I didn't want the local source queue to fill up because I wouldn't be
popping messages off it but it looks like it handles it properly and
removes them from the source queue when they have been pulled to the
destination exchange....awesome.
However, I shutdown the destination broker, use spout to generate a
message, and then restart the destination broker. The message that was
missed while the broker was down is received but so is every past
message that was already received before the broker went down but with
redelivered set to true. I don't even know where these messages come
from because the queue on the source broker does not have any of those
messages. How can I get it to not receive the messages it has already
received?
Thanks,
-Brandon
On Tue, Sep 20, 2011 at 2:37 PM, Ted Ross<[email protected]> wrote:
Brandon,
You can do this with a queue route (i.e. the downstream broker subscribes
to
an existing queue).
Static exchange routes may be durable, meaning they will reappear after a
restart, but their queues are always transient. Furthermore, when the
route
is down, there is no queue to hold the messages produced.
If you create a queue, then establish a queue route to draw from that
queue,
the messages will accumulate there when the downstream broker is
disconnected.
When you set up the route in qpid-route, use the --ack N option with an N
greater than zero. This causes the brokers to acknowledge messages and
will
ensure that in-doubt messages (i.e. in flight during the failure) will be
re-transmitted upon reconnection.
The qpid-route syntax is:
qpid-route [OPTIONS] queue add<dest-broker> <src-broker> <exchange>
<queue> [mechanism]
where<exchange> is the name of the exchange on<dest-broker> where
messages
will be delivered to and<queue> is the name of the queue on<src-broker>
where messages will be received from.
-Ted
On 09/20/2011 03:46 PM, Brandon Pedersen wrote:
I am trying to get something like this working:
- publish a message to a local exchange
- have the message get pushed to a remote exchange (or
pulled...preferably pushed)
and
- if the remote broker goes down, when it comes back up it will
receive all messages it missed while it was down
I can get the first 2 working with a simple static route. However,
when the remote broker goes down it does not receive any of the
messages that were sent while it was down. Is there any way to do
this? And everything is being marked as durable (the queue, the
exchange, the binding, and the route)
Thanks,
-Brandon
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]