Bug 1045091

Summary: [amqp1.0] x-amqp-absolute-expiry-time, x-amqp-creation-time missing in the received message properties map
Product: Red Hat Enterprise MRG Reporter: Petr Matousek <pematous>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Petr Matousek <pematous>
Severity: medium Docs Contact:
Priority: unspecified    
Version: DevelopmentCC: esammons, gsim, iboverma, jross
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.22-30 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-21 12:56:19 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:
Bug Depends On:    
Bug Blocks: 975444, 1010399    

Description Petr Matousek 2013-12-19 15:12:40 UTC
Description of problem:

The following "pseudo headers/properties" shall be supported via amqp1.0:

x-amqp-first-acquirer, x-amqp-delivery-count, x-amqp-group-id,
x-amqp-group-sequence, x-amqp-to, x-amqp-reply-to-group-id,
x-amqp-absolute-expiry-time, x-amqp-creation-time
 
The retrieved message do not list all the properties set by the producer.

Following properties are listed in the received message:
x-amqp-group-id, x-amqp-qroup-sequence, x-amqp-reply-to-group-id, x-amqp-to

While following properties are missing:
x-amqp-first-acquirer, x-amqp-absolute-expiry-time, x-amqp-creation-time

As discussed in the bug 975422, comment 2, creation-time and absolute-expiry-time should certainly be settable by sender and transmitted as set through to receiver.

It is discussable whether first-acquirer and delivery-count shall be settable/transmitted to the receiver.

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

How reproducible:
100%

Steps to Reproduce:
1. $cppapi/spout -P "x-amqp-first-acquirer=True" -P "x-amqp-delivery-count=10" -P "x-amqp-to=q" -P "x-amqp-group-id=theGroup" -P "x-amqp-group-sequence=10" -P "x-amqp-reply-to-group-id=theGroup" -P "x-amqp-absolute-expiry-time=1387289524" -P "x-amqp-creation-time=1387289524" "q;{create:sender}" --count 2 --connection-options "{protocol:'amqp1.0'}"
2. qpid-receive --connection-options {protocol:amqp1.0} --print-headers true --messages 1 --address q
3. x-amqp-absolute-expiry-time, x-amqp-creation-time, x-amqp-first-acquirer, 
 not shown in the properties map

Actual results:
Not all the message properties set on the producer side are shown on the receiver side.

Expected results:
All the message properties set on the producer side are shown on the receiver side.

Additional info:

Comment 1 Gordon Sim 2013-12-19 19:23:22 UTC
Fixed upstream: https://svn.apache.org/r1552400

Comment 2 Petr Matousek 2014-01-23 10:47:04 UTC
This This issue has been fixed. Verified on rhel6.5 (x86_64, i386).

Both the missing amqp1.0 properties (creation-time, absolute-expiry-time) now settable by sender and transmitted to the receiver.

packages used for test:
qpid-cpp-*-0.22-33

-> VERIFIED