Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Description of problem:
This bug is in reference to the new messaging API.
If the Python messaging client (qpid.messaging) receives a message which is in any way malformed (i.e. improper UTF8 encoding in strings, unknown content-type), it throws an exception on the receiver.fetch call. From this point forward, the API is unusable. Any attempt to recover or call methods in the API (session.close, connection.close, fetch on other receivers, etc.) will result in the same exception repeating itself.
Version-Release number of selected component (if applicable):
Development trunk.
How reproducible:
100%
Steps to Reproduce:
1. Produce a message with a content-type of "amqp/xxx"
2. Send this message to a queue
3. Set up a receiver to receive the message from the queue
4. Call fetch on the receiver
Actual results:
An exception is thrown and subsequent calls repeat the exception (i.e. trying
to close the receiver, session, or connection). The only way out is to kill
the client process.
Expected/Desired results:
The malformed messages should be received normally. Perhaps there should be a
"malformed" flag on the message that can be checked, or an exception should be
thrown when attempting to access the content of the message.
In no case should this cause an unrecoverable condition.