Bug 1024944

Summary: Durable message timestamp is not preserved after broker restart.
Product: Red Hat Enterprise MRG Reporter: Leonid Zhaldybin <lzhaldyb>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Eric Sammons <esammons>
Severity: high Docs Contact:
Priority: unspecified    
Version: DevelopmentCC: esammons, gsim, iboverma, jross
Target Milestone: 3.0Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.22-25.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-21 12:55:00 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 Leonid Zhaldybin 2013-10-30 15:45:05 UTC
Description of problem:
In the latest Vienna build, the timestamp feature is functional: the broker is capable of adding a timestamp to a message upon its arrival, if '--enable-timestamp yes' option was provided to the broker. However, if the message and the queue to which it was sent are durable, the timestamp added by the broker is supposed to be preserved after broker's restart (that's how it works in MRG/M 2.3 versions). Vienna version of the broker discards the timestamps of the durable messages in the store:

[root@lzhaldyb-rhel64x ~]# qpid-config add queue test --durable
[root@lzhaldyb-rhel64x ~]# qpid-send -a test --durable yes
[root@lzhaldyb-rhel64x ~]# qpid-receive  -a "test;{mode:browse}" --print-content yes --print-headers yes
Durable: true
Properties: {sn:1, ts:1383147149262987329, x-amqp-0-10.routing-key:test, x-amqp-0-10.timestamp:1383147149}

[root@lzhaldyb-rhel64x ~]# service qpidd restart
Stopping Qpid AMQP daemon:                                 [  OK  ]
Starting Qpid AMQP daemon:                                 [  OK  ]
[root@lzhaldyb-rhel64x ~]# qpid-receive  -a "test;{mode:browse}" --print-content yes --print-headers yes
Durable: true
Properties: {sn:1, ts:1383147149262987329, x-amqp-0-10.routing-key:test}

Version-Release number of selected component (if applicable):
qpid-cpp-0.22-23.el6

How reproducible:
100%

Steps to Reproduce:
1. Start up a broker with "--enable-timestamp yes" option.
2. Send a durable message to the broker.
3. Restart the broker and read the message.

Actual results:
The message does not contain a timestamp after broker restart.

Expected results:
The message timestamp is preserved during broker restart.

Additional info:

Comment 1 Gordon Sim 2013-11-01 10:57:19 UTC
Fixed upstream: https://svn.apache.org/r1537889

Setting skip-errata since this will not have affected a previous MRG release.

(Note that the timestamp uses a field defined only in 0-10 at present and thus is not available from 1.0. See https://issues.apache.org/jira/browse/QPID-5285).

Comment 3 Leonid Zhaldybin 2014-08-06 08:10:37 UTC
Tested on RHEL6 (both i386 and x86_64). This issue has been fixed.

Packages used for testing:

qpid-cpp-0.22-45

-> VERIFIED