when an exception is thrown by an RPC server function, oslo_messaging.rpc does not use the serializer

Bug #1648254 reported by Amrith Kumar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo.messaging
Invalid
Medium
Unassigned

Bug Description

When oslo_messaging.rpc is used with a serializer, then messages sent and replies received are serialized using that serializer. In the normal path (i.e for a cast() or call(), the arguments to the call are serialized in the client and for a call() the returned value from the RPC function is serialized in the dispatcher.

However, if an RPC server function throws an error, then the error is caught by the handler in _process_incoming() in server.py and it does not use the serializer provided.

Ben Nemec (bnemec)
Changed in oslo.messaging:
status: New → Confirmed
importance: Undecided → Medium
jun923.gu (gujun1989)
Changed in oslo.messaging:
assignee: nobody → jun923.gu (gujun1989)
jun923.gu (gujun1989)
Changed in oslo.messaging:
assignee: jun923.gu (gujun1989) → nobody
Revision history for this message
jun923.gu (gujun1989) wrote :

This may be not a bug, or the bug had been fixed. I have analyzed the oslo.messaging for 5.35.0-1.el7 version. Although _process_incoming catch an exception and don't use the serializer provided to serialize, the _send_reply function will do this in oslo_messaging/_drivers/amqpdriver.py:AMQPIncomingMessage. So I think this should be a bug.

jun923.gu (gujun1989)
Changed in oslo.messaging:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.