[ 
https://issues.apache.org/jira/browse/QPID-4969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13696128#comment-13696128
 ] 

Fraser Adams commented on QPID-4969:
------------------------------------

whoah there chuck. I think in principal this is good, however this work has 
also caused the perfectly reasonable case of consumer clients reconnecting to 
non-exclusive queues to fail.

I just fired up a fairly standard headers exchange C++ consumer that I use as a 
bit of a test case, which has the address string:


"testqueue; {create: receiver, node: {x-declare: {arguments: 
{'qpid.policy_type': ring, 'qpid.max_size': 500000000}}, x-bindings: 
[{exchange: 'amq.match', queue: 'testqueue', key: 'data1', arguments: {x-match: 
all, data-service: amqp-delivery, item-owner: fadams}}]}}"

This has worked for me since 0.8 and is a pattern I use for most of my 
operational subscriptions albeit with different headers. The key thing though 
is that I expect the first time I fire this up to create the queue/binding etc. 
and subsequently be it when I shut down this consumer and restart it or whether 
I stand up additional consumer instances I expect my consumers to retrieve data 
off the already created queue/binding. As I say this has worked consistently 
since 0.8 and today I'm getting the following when I shut down my consumer then 
restart it:

2013-06-29 14:19:58 [Client] warning Exception received from broker: 
internal-error: internal-error: Exchange: amq.match, binding key: data1 
Duplicate binding key not allowed. 
(/home/fadams/qpid/qpid-trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp:207) 
[caused by 3 \x07:\x04]
ItemProducer Exception: internal-error: internal-error: Exchange: amq.match, 
binding key: data1 Duplicate binding key not allowed. 
(/home/fadams/qpid/qpid-trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp:207)

I'm currently using headers exchange and only testing on AMQP 0.10 built off 
trunk using r1497991.

I was going to raise a JIRA relating to this but I noticed this one as I was 
typing and this is almost certainly the cause of what I'm currently seeing.

This is a fairly critical regression for me and would cause significant issues 
to my operational system as I use the "consumer self service" pattern 
(illustrated above in the example address string) for queue 
creation/subscription pretty much exclusively.









                
> C++ Broker headers exchange allows creation of bindings with duplicate keys
> ---------------------------------------------------------------------------
>
>                 Key: QPID-4969
>                 URL: https://issues.apache.org/jira/browse/QPID-4969
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.22
>            Reporter: Chuck Rolke
>            Assignee: Chuck Rolke
>             Fix For: 0.23
>
>
> The test case:
> {code}
> qpid-config add queue MyQueue --durable
> qpid-config bind amq.match MyQueue SomeKey any property1=value1
> qpid-config bind amq.match MyQueue SomeKey all property1=value1
> {code}
> Causes a management error as two bindings are created with 
> amq.match,MyQueue,SomeKey managementId.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to