There's a bug in QueueBindings.cpp (QueueBindings::unbind) where binding records are not deleted when bindings/queues are removed. Except for the memory leak, this is not a problem for operation. It is, however, a problem for management as I now see orphaned bindings accumulating.

As far as I can tell, the only reason for this data structure to exist is to unbind all bindings associated with a particular queue. Since bindings are a "manageable" entity (i.e. they have statistics and other information associated with them), there might be a better way to structure them such that they are more closely tied to the exchanges that use them.

Unless anybody has a different idea, I will propose a patch to restructure this (and fix the memory leak).

-Ted

Reply via email to