Bug 1009525 - [amqp1.0] 0-10 consumer is disconnected when trying to consume message with routing key longer than 255 characters
[amqp1.0] 0-10 consumer is disconnected when trying to consume message with r...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Development
Unspecified Unspecified
medium Severity medium
: 3.0
: ---
Assigned To: Gordon Sim
Petr Matousek
:
Depends On:
Blocks: 1010399 1024955
  Show dependency treegraph
 
Reported: 2013-09-18 11:09 EDT by Petr Matousek
Modified: 2015-01-21 07:55 EST (History)
5 users (show)

See Also:
Fixed In Version: qpid-cpp-0.22-17
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-01-21 07:55:05 EST
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)


External Trackers
Tracker ID Priority Status Summary Last Updated
Apache JIRA QPID-5149 None None None Never

  None (edit)
Description Petr Matousek 2013-09-18 11:09:24 EDT
Description of problem:

As a result of bug 812376, the 0-10 client reports following exception when trying to produce/consume message with routing key longer than 255 characters:
illegal-argument: Value for routingKey is too large

This limitation does not applies for 1.0 clients, ie. producing/consuming using routing key longer than 255 characters works well.

When 0-10 receiver is consuming messages and a message with routing key longer than 255 characters is sent to the consumer using 1.0 producer, the consumer ends with an exception.

So it is possible to send a message using 1.0 producer that forces the 0-10 consumers to disconnect (although with proper exception).

I am not claiming that this behavior is necessary wrong, the proper exception is reported. I am raising the bug in order to let the team thing about the correct behavior here. If this would be identified as correct behavior it should be at least documented. In this case please change the component to doc.

Notes:
When ignoring the exception on the client side, next fetch command gets again the same message and ends in a loop.
Reconnect won't help in this case

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

How reproducible:
100%

Steps to Reproduce:
1. ./drain amq.topic/a.* -f
2. ./spout --connection-options {protocol:amqp1.0}  "amq.topic/a.AReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubjectAReallyLongSubject"
3. subscription ends with following exception:
illegal-argument: Value for routingKey is too large

Actual results:
amqp0-10 clients ends with exception on receiving a message with routing key longer than 255 characters.

Expected results:
not sure

Additional info:
Comment 1 Gordon Sim 2013-09-20 11:55:32 EDT
Fixed upstream: https://svn.apache.org/r1525043

This will truncate the routing key, but it will also be available in original form via the subject, sent as qpid.subject over 0-10.
Comment 2 Petr Matousek 2014-02-13 11:13:48 EST
This issue has been fixed. Verified on rhel6.5 (x86_64, i386).

packages under test:
qpid-cpp-*-0.22-35

-> VERIFIED

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