You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "venkata yerubandi (JIRA)" <ji...@apache.org> on 2012/05/10 04:28:48 UTC
[jira] [Updated] (THRIFT-1601) thrift clients generated for python
checks if success is set first before checking if an exception is set
[ https://issues.apache.org/jira/browse/THRIFT-1601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
venkata yerubandi updated THRIFT-1601:
--------------------------------------
Summary: thrift clients generated for python checks if success is set first before checking if an exception is set (was: thrift clients generated for python check if success is set first before checking if an exception is set )
> thrift clients generated for python checks if success is set first before checking 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
>
> Attachments: py_generator.patch
>
>
> 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