Bug 893591 - Topic node type must be specified in order to create node/link binding
Topic node type must be specified in order to create node/link binding
Status: NEW
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-java (Show other bugs)
Unspecified Unspecified
low Severity low
: ---
: ---
Assigned To: Rajith Attapattu
MRG Quality Engineering
: Regression
Depends On:
  Show dependency treegraph
Reported: 2013-01-09 09:43 EST by Petr Matousek
Modified: 2015-08-03 10:03 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Petr Matousek 2013-01-09 09:43:49 EST
Description of problem:

# java -cp ${CLSSPATH} org.apache.qpid.example.Spout "amq.direct;{create: always,node:{x-bindings: [{ exchange: 'amq.direct', queue: 'q'}]}}"
ExecutionException(errorCode=NOT_ALLOWED, commandId=1, classCode=7, commandCode=1, fieldIndex=0, description=not-allowed: Exchange declared to be of type direct, requested topic

Until qpid-java-*-0.18-5 it was not possible to create node bindings for topic node (Bug 860011). This issue was fixed in qpid-java-*-0.18-5 and the binding was successfully created with the above command.

Starting from qpid-java-*-0.18-6 it is still possible to create bindings for topic node, BUT now the topic type must be specified if the topic type is different from default (type: topic). This applies for both node and link bindings.

So the following command can be used to solve this issue:
# java -cp ${CLSSPATH} org.apache.qpid.example.Spout "amq.direct;{create: always,node:{x-declare:{type:direct},x-bindings: [{ exchange: 'amq.direct', queue: 'q'}]}}"

This issue was also present on previous versions, BUT only if assert was used in the address string, please see Bug 870030.

From my point of view, this is a minor issue as workaround exists, feel free to fix in next version.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. qpid-config add queue q
2. java -cp ${CLSSPATH} org.apache.qpid.example.Spout "amq.direct;{create: always,node:{x-bindings: [{ exchange: 'amq.direct', queue: 'q'}]}}"
3. not-allowed exception 
Actual results:
The topic type must be specified on creating binding on topic node

Expected results:
It is not necessary to specify the topic type creating binding

Note You need to log in before you can comment on or make changes to this bug.