Bug 975857

Summary: Setting --ack value on Federation routes higher than UINT16 causes Value conversion error
Product: Red Hat Enterprise MRG Reporter: Zdenek Kraus <zkraus>
Component: qpid-cppAssignee: Ken Giusti <kgiusti>
Status: NEW --- QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: low Docs Contact:
Priority: low    
Version: DevelopmentCC: 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:
Embargoed:

Description Zdenek Kraus 2013-06-19 13:21:04 UTC
Description of problem:
Creating route with ack value higher than UINT16 throws invalid conversion instead of range error describing that user exceeds the max value allowed in the context.

Version-Release number of selected component (if applicable):
qpid-cpp-0.18-14
qpid-cpp-0.18-16
qpid-cpp-0.22-4

How reproducible:
100%

Steps to Reproduce:
1. create allowing acl
  acl allow all all
2. start broker with this acl loaded
3. prepare exchange and queue for route
  qpid-config add queue q
  qpid-config add exchange topic e
4. create a queue route with --ack 100000
  qpid-route --ack 100000 queue add e q '#'

Actual results:
Failed: Exception - invalid conversion: Cannot convert from int64 to uint16 (/builddir/build/BUILD/qpid-0.22/cpp/src/qpid/types/Variant.cpp:300)

Expected results:
Exception that explain the cause of error like 'the max allowed value for ACK is 65535' is thrown.

Additional info:
this problem will probably be in others numeric options.