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






Reply via email to