Bug 595788

Summary: Removal of qpid::sys::Duration(AbsTime&) constructor from shipped header files
Product: Red Hat Enterprise MRG Reporter: Andrew Stitcher <astitcher>
Component: Release_NotesAssignee: Lana Brindley <lbrindle>
Status: CLOSED CURRENTRELEASE QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: betaCC: mhideo
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
C: The definition for the qpid::sys::Duration(AbsTime&) constructor exposed an internal time value from the AbsTime representation which varied between platforms. C: A time duration can only be calculated as the difference between two points in time, not just one. What the constructor was doing was not portable between platforms. F: The definition for the constructor qpid::sys::Duration(AbsTime&) has been removed from the shipped header files and if it has been used it will need to be replaced. R: The constructor should now be able to be used between different platforms as expected. Workaround: In general qpid doesn't provide timing services and so we do not recommend the use of the AbsTime or Duration classes except where required by other elements of the qpid client API. However if an application was using this constructor it can be replaced by using the two argument Duration constructor: old version, which no longer works: using qpid::sys::Duration; using qpid::sys::AbsTime; Duration d(AbsTime::now()); current working version: using qpid::sys::Duration; using qpid::sys::AbsTime; using qpid::sys::EPOCH; Duration d(EPOCH, AbsTime::now());
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-14 20:41:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 595653    
Bug Blocks: 548214    

Description Andrew Stitcher 2010-05-25 15:50:48 UTC
The definition for the constructor qpid::sys::Duration(AbsTime&) has been removed from the shipped header files and if it has been used it will need to be replaced.

This constructor was removed from the internals of qpid because logically a time duration can only be created as the difference between two points in time not just one. What the constructor was doing was not portable between platforms as it just exposed an internal time value from the AbsTime representation which actually varied between platforms.

In general qpid doesn't provide timing services and so we do not recommend the use of the AbsTime or Duration classes except where required by other elements of the qpid client API.

However if an application was using this constructor it can be replaced by using the two argument Duration constructor:

old version, which no longer works:

using qpid::sys::Duration;
using qpid::sys::AbsTime;
Duration d(AbsTime::now());

current working version:

using qpid::sys::Duration;
using qpid::sys::AbsTime;
using qpid::sys::EPOCH;
Duration d(EPOCH, AbsTime::now());

Comment 1 Lana Brindley 2010-06-21 03:44:36 UTC
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.

New Contents:
C: The definition for the qpid::sys::Duration(AbsTime&) constructor exposed an internal time value from the AbsTime representation which varied between platforms.
C: A time duration can only be calculated as the difference between two points in time, not just one. What the constructor was doing was not portable between platforms.
F: The definition for the constructor qpid::sys::Duration(AbsTime&) has been removed from the shipped header files and if it has been used it will need to
be replaced.
R: The constructor should now be able to be used between different platforms as expected.

Workaround:

In general qpid doesn't provide timing services and so we do not recommend the use of the AbsTime or Duration classes except where required by other elements of the qpid client API.

However if an application was using this constructor it can be replaced by using the two argument Duration constructor:

old version, which no longer works:

using qpid::sys::Duration;
using qpid::sys::AbsTime;
Duration d(AbsTime::now());

current working version:

using qpid::sys::Duration;
using qpid::sys::AbsTime;
using qpid::sys::EPOCH;
Duration d(EPOCH, AbsTime::now());

Comment 2 Lana Brindley 2010-09-23 03:58:25 UTC
Revision 0.1 of the release notes will available for review on the stage shortly.

LKB

Comment 3 Lana Brindley 2010-10-14 20:41:44 UTC
Release Notes have now  been published:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_MRG/1.3/html/MRG_Release_Notes/index.html

LKB