Thanks for the update Ken.

"but since the problem is rarely hit" clearly we're not adding enough bindings :-) I'll soon change that :-D


I'll probably add some defensive code in my GUI. It's a little bit of a faff to do but I've already got a cache of Binding, Queue and Exchange QMF objects, so when I go to add a new binding I can look through the Binding objects for ones that match my binding key then dereference the queueRef/exchangeRef IDs to lookup queue/exchange names associated with said binding to check if my <exchangeName>/<queueName>/<bindingName> key is unique.

It's not *quite* infallable as the cache only gets updated every 10 seconds, but it's *probably* good enough. I might look at forcing a cache refresh just before the test, but that's getting a lot more complex as I'm actually getting my QMF objects back from an AJAX call to a REST implementation of the QMF2 API :-)

Hopefully my Qpid GUI will be in a releasable state in the next couple of days, I'm currently going through some final bugs & snags and a little bit of work to get it looking nice on mobile browsers.

Regards,
Frase

On 03/01/13 17:32, Ken Giusti wrote:

This appears to be a bug in the way the amq.match (Headers Exchange) is 
implemented.

The exchange+queue+binding-key need to be unique - QMF uses that tuple as the 
mgmt object index.   However, it seems the Headers Exchange also considers the 
header configuration (k1=v1, etc) when it checks for existing bindings.  In the 
above case, since the header values are different, the exchange creates two 
bindings even though the exchange+queue+binding key are the same.  That's a bug.

Gordon hit this bug awhile ago while using federation -  
https://issues.apache.org/jira/browse/QPID-3356.

The other problem - the hang - is probably related: QMF's handling of duplicate 
object errors has been improved quite a bit since 0.12, but since the problem 
is rarely hit there are probably still bugs in it.


-K

-


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to