Bug 1040643

Summary: topic object does not validate properties applied to future subsription queue
Product: Red Hat Enterprise MRG Reporter: Zdenek Kraus <zkraus>
Component: qpid-cppAssignee: messaging-bugs <messaging-bugs>
Status: NEW --- QA Contact: Messaging QE <messaging-qe-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 3.0CC: jross
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Zdenek Kraus 2013-12-11 18:54:36 UTC
Description of problem:
(dependant) properties
'qpid.page_factor', 'qpid.max_pages_loaded' requires 'qpid.paging':True

when trying to create queue with some dependent without that on depends to, exception is thrown,
but topic object doesn't perform that chech, allowing to create itself and any subsequent subscribing to the topic fails.

Version-Release number of selected component (if applicable):
qpid-cpp-*-0.22-29


How reproducible:
100%

Steps to Reproduce:
1. create topic with dependent property
./qmf2_qpidt.py create topic tt exchange=amq.direct qpid.page_factor=4
2. check QMF
./qmf2_list_objects --query-data topic/tt | ipython
3. subscribe
./qc2_drain -f --connection-options "{protocol:'amqp1.0'}" 'tt'

Actual results:
[2]
{'_create_ts': 1386787424720729932L,
 '_delete_ts': 0,
 '_object_id': {'_agent_epoch': 113,
                '_object_name': 'org.apache.qpid.broker:topic:tt'},
 '_schema_id': {'_class_name': 'topic',
                '_hash': '6182b36f-9f09-4118-2881-fb69e5355628',
                '_package_name': 'org.apache.qpid.broker',
                '_type': '_data'},
 '_update_ts': 1386787425806342427L,
 'durable': False,
 'exchangeRef': {'_object_name': 'org.apache.qpid.broker:exchange:amq.direct'},
 'name': 'tt',
 'properties': {'qpid.page_factor': '4'}}

[3]
Link detached by peer with amqp:internal-error: invalid-argument: Can only specify qpid.page_factor if qpid.paging is set (/builddir/build/BUILD/qpid-0.22/cpp/src/qpid/broker/QueueSettings.cpp:281)

Expected results:
exception should be thrown while creating topic.

Additional info: