I have a distributor and 2 workers, in distributor’s storage queue messages are keep on increasing, each message has size of 2 kb.
I have gone through Udi reply here
http://tech.dir.groups.yahoo.com/group/nservicebus/message/10698
Messages are cleared from the distributor’s storage queue when it dispatches messages to the worker nodes.
That being said, the worker nodes usually send a ready message right afterwards, causing the storage queue to fill up again.
I am not clear about “causing the storage queue to fill up again.” Statement.
I was expecting max messages in distributor’s storage queue should be equal to number of workers but that is not the case.
Is there any configuration that I may be missing to control distributor’s storage queue clean up behavior?
As of NSB 3.3.2 there is an known issue, https://github.com/NServiceBus/NServiceBus/issues/806, with using SendLocal on worker in a distributor scenario. This will lead to the worker sending a “ready for a new message” every time it handles a message sent locally. This makes the distributors storage queue grow above the expected maximum of sum of all worker threads on all workers. This can be a problem if your sending lots of messages locally and the number of entries in the storage queue grows very large.
Workarounds:
There was also a similar issue with SLR(Second Level Retries) functionality( https://github.com/NServiceBus/NServiceBus/issues/571 ), but that was fixed in 3.2.7.