What is the correct behaviour for the following case

2013-05-09 Thread Rajith Attapattu
If we use the following address with the java client you get an error with
exchange bind.

myEx_headers;{create: always,node:{type: topic,x-declare:{type:headers}}}

However the exchange (or queue) is created, all though the bind fails.

When this happens,

1. Should we reverse the queue or exchange declare ? (in addition to
throwing an exception)

2. Leave the exchange or queue as it and just throw the exception.

We currently do #2.

What are your thoughts on this?

Regards,

Rajith


Re: What is the correct behaviour for the following case

2013-05-09 Thread Gordon Sim

On 05/09/2013 04:40 PM, Rajith Attapattu wrote:

If we use the following address with the java client you get an error with
exchange bind.

myEx_headers;{create: always,node:{type: topic,x-declare:{type:headers}}}

However the exchange (or queue) is created, all though the bind fails.


Is the client sending the correct bind? (Since the address doesn't 
explicitly have one it should assume one where all messages would match).



When this happens,

1. Should we reverse the queue or exchange declare ? (in addition to
throwing an exception)

2. Leave the exchange or queue as it and just throw the exception.

We currently do #2.

What are your thoughts on this?


3. In this specific case I suspect the fix is to send the correct bind 
so that it doesn't fail.


However in general if you have node level x-bindings and an x-declare I 
don't think there is a need to make them fail 'atomically'.



-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



Re: What is the correct behaviour for the following case

2013-05-09 Thread Rajith Attapattu
On Thu, May 9, 2013 at 11:52 AM, Gordon Sim g...@redhat.com wrote:

 On 05/09/2013 04:40 PM, Rajith Attapattu wrote:

 If we use the following address with the java client you get an error with
 exchange bind.

 myEx_headers;{create: always,node:{type: topic,x-declare:{type:headers}*
 *}}

 However the exchange (or queue) is created, all though the bind fails.


 Is the client sending the correct bind? (Since the address doesn't
 explicitly have one it should assume one where all messages would match).


No the client is not sending the x-match:all like the c++ or python client.
I'm definitely going to add it.




  When this happens,

 1. Should we reverse the queue or exchange declare ? (in addition to
 throwing an exception)

 2. Leave the exchange or queue as it and just throw the exception.

 We currently do #2.

 What are your thoughts on this?


 3. In this specific case I suspect the fix is to send the correct bind so
 that it doesn't fail.


Agreed.



 However in general if you have node level x-bindings and an x-declare I
 don't think there is a need to make them fail 'atomically'.


Thanks, my view as well.



 --**--**-
 To unsubscribe, e-mail: 
 dev-unsubscribe@qpid.apache.**orgdev-unsubscr...@qpid.apache.org
 For additional commands, e-mail: dev-h...@qpid.apache.org