venkata yerubandi created THRIFT-1601: -----------------------------------------
Summary: thrift clients generated for python check if success is set first and then check if an exception is set Key: THRIFT-1601 URL: https://issues.apache.org/jira/browse/THRIFT-1601 Project: Thrift Issue Type: Bug Components: Python - Compiler Affects Versions: 0.8 Environment: ubuntu 10.04 Reporter: venkata yerubandi Fix For: 0.8 Scenario Client ------ Python client Server ------ Java Service {created without this patch https://issues.apache.org/jira/secure/attachment/12521190/primitive_result_fix.patch} When testing a python thrift client accessing a thrift service generated with unpatched thrift - a exception generated on the server is returned all the way to the thrift python wrapper but not to the client - this is due to the fact that we have the following result : success=0 ise=InternalServiceException() and python wrapper checks if result.success is not None , where as it should have been checking for the presence of exceptions first current code snippet generated ----------------------------------------- if result.success is not None: return result.success if result.ise is not None: raise result.ise if result.fee is not None: raise result.fee the patch submitted here fixes this so that the code snippet generated is if result.ise is not None: raise result.ise if result.fee is not None: raise result.fee if result.success is not None: return result.success which should have been the order to start with. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira