Bug 893591

Summary: Topic node type must be specified in order to create node/link binding
Product: Red Hat Enterprise MRG Reporter: Petr Matousek <pematous>
Component: qpid-javaAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED UPSTREAM QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: low Docs Contact:
Priority: low    
Version: DevelopmentCC: jross
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 03:27:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Petr Matousek 2013-01-09 14:43:49 UTC
Description of problem:

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

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):
qpid-java-*-0.18-6

How reproducible:
100%

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

Comment 4 Red Hat Bugzilla 2025-02-10 03:27:14 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.