You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Erik (Jira)" <ji...@apache.org> on 2022/02/13 13:19:00 UTC

[jira] [Closed] (THRIFT-5516) Python Client returning None, instead of List

     [ https://issues.apache.org/jira/browse/THRIFT-5516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Erik closed THRIFT-5516.
------------------------
    Resolution: Fixed

> Python Client returning None, instead of List<CustomObjs>
> ---------------------------------------------------------
>
>                 Key: THRIFT-5516
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5516
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.13.0, 0.15.0
>         Environment: Ubuntu 20.04 LTS
> Python 3.8
>  
>            Reporter: Erik
>            Priority: Major
>
> I am writing a C++ Thrift Server, and successfully utilizing it via a Python Client up until today.
> {code:java}
> // bunch of stuff, including the Definitions for the Objects, Exceptions
> service mythrift {
>     i32 ping() throws (1:CUSTOMException error),
>     list<string> status() throws (1:CUSTOMException error),
>     list<CustomResponse> request_forstuff(1:list<CUSTOMObject> request_objectss, 2:string some__type) throws (1:CUSTOMException error) 
> }
>  {code}
> {code:java}
> print("Testing my-thrift client...")
> my_client = MYThriftClient().connect_to_thrift_server(thrift_host="127.0.0.1")
> print("ping! total client pool size = " + str(my_client.ping()))
> print("my_status = " + str(my_client.status()))
> objects_to_request = get_some_objects()
> myresult = my_client.send_request_forstuff(objects_to_request, "SOMETYPE")
> print("MYRESULT = " + str(myresult))
> print("my_status = " + str(my_client.my_status())) {code}
>  What is strange is, this API call was working in past.. but suddenly my Python Client is returning immediately .. even though I'm expecting a `list<CustomObjs>` to come back..
>  
> {code:java}
> Testing my-thrift client...
> ping! total client pool size = 1
> my_status = ['MY_Status == pool->size() == 1, idle() == 1, busy() == 0']
> MYRESULT = None
> <after this it hangs> {code}
> Posted also in StackOverflow in case the community there has any ideas
> https://stackoverflow.com/questions/71100680/python-thrift-client-immediately-returning-before-result-can-be-calculated
> Other calls returning lists of standard things like String, work just fine.. it is only this custom object list call which seems to fail.. 
> Any ideas how to debug or proceed?  no matter what I code in the Server Side it just comes back `None` in Python Client
>  
> tried `V0.13.0` and upgraded to `V0.15.0`



--
This message was sent by Atlassian Jira
(v8.20.1#820001)