Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1245128

Summary: Qpid-jms amqp 1.0 client can not receive messages from MRG-M broker
Product: Red Hat Enterprise MRG Reporter: Michal Toth <mtoth>
Component: qpid-javaAssignee: Robbie Gemmell <rgemmell>
Status: CLOSED ERRATA QA Contact: Michal Toth <mtoth>
Severity: high Docs Contact:
Priority: high    
Version: 3.2CC: esammons, iboverma, jross, pematous
Target Milestone: 3.2   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-jms-0.3.0-3 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-08 13:10:50 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:
Bug Depends On:    
Bug Blocks: 1215806    

Description Michal Toth 2015-07-21 09:19:22 UTC
Description of problem:
Qpid JMS AMQP 1.0 client is unable to receive a message sent from the same client to MRG-M (qpid) broker.


Version-Release number of selected component (if applicable):
qpid-jms-client-0.2.0.redhat-1.jar

How reproducible:
Always

Steps to Reproduce:
1. Create a destination queue (not possible with client)
$ qpid-config add queue MY_QUEUE

2. Send a message to the broker
$ /var/dtests/node_data/clients/java/aac/aac1_sender.java.sh -c 1 --log-msgs dict -a MY_QUEUE

3. Receive a message using the qpid-jms client
$ /var/dtests/node_data/clients/java/aac/aac1_receiver.java.sh -a MY_QUEUE


Actual results:
The acquisition of message results in:
09:37:07,847 DEBUG Connection=amqp://localhost:5672
09:37:08,635 INFO Best match for SASL auth was: SASL-PLAIN
09:37:08,657 INFO Connection ID:my-hostname-41536-1437464227866-0:1 connected to remote Broker: amqp://localhost:5672
09:37:08,749 WARN Error on transform: Could not create a JMS message from incoming message
....
09:37:08,968 WARN Error on transform: Could not create a JMS message from incoming message
09:37:08,973 WARN Error caught while closing Provider: 


Expected results:
Message is successfully (transformed &) received.

Additional info:
I have tested the latest (0.4.0) and 0.3.0 upstream qpid-jms clients, and both worked could receive messages as expected.

Comment 1 Robbie Gemmell 2015-07-21 14:50:43 UTC
As indicated in the initial report, QPIDJMS-49 made some changes to make the client more resilient in receiving messages [from the C++ broker]. In that case, it seemed the user had sent a message to the broker using AMQP 0-10 (via qpid-send), which the broker converted in order to send to the AMQP 1.0 JMS client and in doing so placed an empty-but-present symbol value for the message content-type. The client was unable to handle that content-type value (which is arguably an improper value to send) and so produced the output reported.

It isn't clear to me from the above what is actually being sent in this particular case however.

Comment 2 Michal Toth 2015-07-22 06:19:28 UTC
Sender and receiver are both qpid-jms-client.
Sender sent an empty JMS message over AMQP 1.0, which receiver could not transform. So I assume qpid broker did some little change internally, which 0.2.0 qpid-jms-client client could not handle.
It is fixed in version 0.3.0+.

Comment 3 Robbie Gemmell 2015-07-22 13:30:00 UTC
Working with Michal today, after some initial failure to reproduce the issue again we eventually identified that there was a message on the broker which was sent using the AMQP 0-10 Java client, which occurred when it was used to create the queues originally. Inspecting the protocol trace while the issue was present showed it is likely exactly the same issue as QPIDJMS-49 resolved, in that the broker sent an empty-but-present value for the content-type field when converting the 0-10 messages to send it to the 1.0 client, which explains why things worked after updating to 0.3.0 or 0.4.0-SNAPSHOT.

Comment 5 Michal Toth 2015-07-29 11:18:18 UTC
Verified on qpid-jms-client 0.3.0. 
Client was able to receive messages sent using amqp 0-10 & 1.0 protocol as expected from MRG-M broker from queue created by qpid-java-client (amqp 0-10).

Comment 7 errata-xmlrpc 2015-10-08 13:10:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2015-1879.html