Hello,
I'm unable to re-establish message forwarding across a queue route
once the destination queue reaches it's max-queue-size limit. The
steps to reproduce are as follows:
1) establish a src-local queue route between a web server node and a
backend queue server
On the web server (www-1)...
qpid-config add queue hits_local --durable --file-count 32 --file-
size 5120 --limit-policy flow-to-disk
qpid-config bind amq.direct hits_local /hits
qpid-route -d -s queue add queue-1:5672 localhost:5672 amq.direct
hits_local
On the queue server (queue-1)...
qpid-config add queue hits --durable --file-count 64 --file-size
20480 --max-queue-size 1048576000 --limit-policy flow-to-disk
qpid-config bind amq.direct hits /hits
2) Enqueue 1048576000 or more bytes of data into the local queue on
www-1, watch it flow across the federation link to the hits queue on
queue-1.
3) Continue loading data and see (through qpid-tool) that messages are
no longer being forwarded along the federation link, instead they are
being retained on the hits_local queue on www-1.
4) Purge the hits queue on queue-1 using qpid-tool (call <id> purge 0)
At this point I would expect enqueued messages on www-1 to begin to
flow across the federation link to the queue-1 server, but they do
not. Similarly, new enqueues to hits_local on www-1 are retained on
www-1 rather than being forwarded across the link to queue-1.
I had to destroy the local queue, queue route, store, and link on
www-1 and recreate them in order to induce message flow across the
link again. Is that expected? What can we do differently to avoid
data loss in a recovery scenario such as this?
__
Charles Woerner | [email protected] | demandbase