Bug 1101520

Summary: RMI pealing a non-string message results in exception instead of propagating error to task result
Product: [Community] Gofer Reporter: mkovacik
Component: gofer-pluginsAssignee: Jeff Ortel <jortel>
Status: NEW --- QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.0   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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:
Attachments:
Description Flags
stack dump and related task none

Description mkovacik 2014-05-27 11:56:18 UTC
Created attachment 899488 [details]
stack dump and related task

Description of problem:
When a consumer participates on an async task such as performing a repo binding and responds with invalid message 
the task never errors-out although a stack trace can be seen in the logs (see the attachment).

This happens for instance if the consumer (by adopter's mistake) sends a response with a message attribute not explicitly serialized:
  if type(RMI['message']) is dict # i.e. no json.dumps() was applied on the message attribute value


Version-Release number of selected component (if applicable):
[root@ec2-79-125-97-56 ~]# rpm -qa | grep gofer
python-gofer-qpid-1.0.13-1.fc20.noarch
python-gofer-1.0.13-1.fc20.noarch
gofer-1.0.13-1.fc20.noarch


How reproducible:
always

Steps to Reproduce:
1. register a consumer with wrong implementation of the RMI messages handling with no `json.dumps(message)` called
2. perform an async task involving consumer interaction such as bind repo

Actual results:
The exception is not propagated to related Pulp task error attribute and thus it never really terminates 

Expected results:
Exception is propagated into related task error attribute signaling bad processing status back to pulp

Additional info:

Comment 2 Robin Chan 2019-01-02 19:27:59 UTC
reset QA Contact to default.