Bug 1268257 - [Selectors] JMSTimestamp seems to be compared on seconds not milliseconds when messages used AMQP 1.0 protocol
[Selectors] JMSTimestamp seems to be compared on seconds not milliseconds whe...
Status: NEW
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
3.2
Unspecified Unspecified
unspecified Severity low
: ---
: ---
Assigned To: messaging-bugs
Messaging QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-10-02 06:22 EDT by Michal Toth
Modified: 2015-10-05 12:32 EDT (History)
3 users (show)

See Also:
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: ---


Attachments (Terms of Use)
Selector JMSTimestamp broker log and used commands (15.88 KB, text/plain)
2015-10-02 06:23 EDT, Michal Toth
no flags Details

  None (edit)
Description Michal Toth 2015-10-02 06:22:39 EDT
Selecting on exact time on milliseconds using "JMSTimestamp = 1443779787927" is not working correctly when querying amqp 1.0 message.
Please have a look at attached log file for more information.

Version-Release number of selected component (if applicable):
qpid-cpp-server-0.34-5

How reproducible:
Always

Steps to Reproduce:
1. Send an amqp 1.0 message to the broker
2. Browse the queue to see the exact timestamp
3. Query it using selector where "JMSTimestamp = 1443779787927" <exact time>

Actual results:
No message is obtained, as broker somehow rounds it:
2015-10-02 12:02:14 [Broker] debug Selector parsed[JMSTimestamp = 1443779787927] into: (I:JMSTimestamp=EXACT:1443779787927)
2015-10-02 12:02:14 [Broker] debug Selector lookup JMS identifier: JMSTimestamp treated as alias for creation_time
2015-10-02 12:02:14 [Broker] debug Selector identifier: JMSTimestamp->EXACT:1443779784000
2015-10-02 12:02:14 [Broker] debug Selector lookup JMS identifier: JMSTimestamp treated as alias for creation_time
2015-10-02 12:02:14 [Broker] debug Selector identifier: JMSTimestamp->EXACT:1443779787000
2015-10-02 12:02:14 [Broker] debug Selector lookup JMS identifier: JMSTimestamp treated as alias for creation_time
2015-10-02 12:02:14 [Broker] debug Selector identifier: JMSTimestamp->EXACT:1443779790000


Expected results:
Message is obtained using selector and exact timestamp value.

Additional info:
See attached file.
Comment 1 Michal Toth 2015-10-02 06:23 EDT
Created attachment 1079412 [details]
Selector JMSTimestamp broker log and used commands
Comment 2 Gordon Sim 2015-10-02 07:44:07 EDT
This is because the value as held in the broker at present is measured in seconds, since that is what the AMQP 0-10 timestamp was defined in. It would not be a hug change to fix the broker but on the other hand the likelihood of any use case depending on sub second accuracy in equality/comparison operations seems small to me.

Note You need to log in before you can comment on or make changes to this bug.