Bug 983517 - [AMQP 1.0] correlation-id/message-id gets corrupted by broker
Summary: [AMQP 1.0] correlation-id/message-id gets corrupted by broker
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: Development
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: 3.0
: ---
Assignee: Gordon Sim
QA Contact: Petr Matousek
URL:
Whiteboard:
Depends On:
Blocks: 1010399
TreeView+ depends on / blocked
 
Reported: 2013-07-11 11:07 UTC by Gordon Sim
Modified: 2015-01-21 12:55 UTC (History)
4 users (show)

Fixed In Version: qpid-qmf-0.22-7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-21 12:55:24 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Apache JIRA QPID-4986 0 None None None Never

Description Gordon Sim 2013-07-11 11:07:12 UTC
Description of problem:

A message with a string valued correlation-id (or message-id) sent to the broker over AMQP 1.0 will have the correlation-id (or message-id) changed to 1.

Version-Release number of selected component (if applicable):

qpid 0.22

How reproducible:

100%

Steps to Reproduce:
1.qpid-receive --connection-properties {protocol:amqp1.0} -f --address amq.fanout --print-headers true
2. qpid-send --connection-options {protocol:amqp1.0} --address amq.fanout --correlation-id abc

Actual results:

The receiver prints:

  CorrelationId: 1


Expected results:

correlation id should arrive at the client as it was sent by the sender (e.g. abc in this case)

Additional info:

Comment 1 Gordon Sim 2013-07-11 12:02:22 UTC
Fixed upstream: https://svn.apache.org/r1502193

Comment 2 Petr Matousek 2013-12-19 15:42:09 UTC
Handling the correlation id seems to be correct now, but I still see corrupted message-id, ie:

# qpid-send --connection-options {protocol:amqp0-10} --id 5 --address "q;{create:sender}"
# qpid-send --connection-options {protocol:amqp0-10} --id testId --address q
# qpid-receive --connection-options {protocol:amqp1.0} --print-headers true --address q
MessageId: 00000000-0000-0000-0000-000000000000
Properties: {sn:1, ts:1387467367023429024}

MessageId: 00000000-0000-0000-0000-000000000000
Properties: {sn:1, ts:1387467382567140358}

NOTE: this applies also to 0-10, so if you would like to open a separate bugzilla for that, let me know.

# qpid-send --id 5 --address "q;{create:sender}"
# qpid-send --id testId --address q
# qpid-receive --print-headers true --address q
MessageId: 00000000-0000-0000-0000-000000000000
Properties: {sn:1, ts:1387467567032638630, x-amqp-0-10.routing-key:q}

MessageId: 00000000-0000-0000-0000-000000000000
Properties: {sn:1, ts:1387467573159128750, x-amqp-0-10.routing-key:q}

Comment 3 Gordon Sim 2013-12-19 18:12:57 UTC
It looks to me like this is only an issue if 0-10 is involved, is that correct? In AMQP 0-10 the message-id is defined to be a UUID, so any other format can't be accurately converted. I'm not sure that is something we could fix, but if that is the extent of the issue I would certainly consider it separate from this one.

Comment 4 Petr Matousek 2013-12-20 09:54:53 UTC
(In reply to Gordon Sim from comment #3)
> It looks to me like this is only an issue if 0-10 is involved..

Yes, you're right. I accidentally used 0-10 for sender in the first case.
Passing message-id works well over1.0 for various values.
Passing UUID message-id works also well over0-10, but when value is not of type UUID the following message-id '00000000-0000-0000-0000-000000000000' is shown.

So IMO there is no issue here. Thanks for notifying me.
Moving this bug back to MODIFIED.

Comment 5 Petr Matousek 2014-01-24 10:32:58 UTC
This This issue has been fixed. Verified on rhel6.5 (x86_64, i386).

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

-> VERIFIED


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