I don't understand the handle terminology. Can you please explain what you mean by handle. Thanks.
On Wednesday, September 23, 2020 at 11:08:35 PM UTC+5:30 [email protected] wrote: > I would expect there to be more to the error message than just > "client_class". I'm assuming there's an indentation problem in your > original post and that the instantiation of the "client_class" message is > happening within the Get_Data handler. What happens if you try to > instantiate a "client_class" outside of the handler, on the main thread. Do > you get a more illuminating error message? > On Wednesday, September 23, 2020 at 9:20:45 AM UTC-4 Jatin Sharma wrote: > >> I want to send a class to the grpc server. So, I am pickling the class >> and sharing as a bytes format in the message. >> The .proto file(serverdata.proto) looks like below: >> >> syntax = "proto3"; >> >> service DataProvider{ >> rpc Get_Data(client_class) returns (result); >> } >> >> message client_class{ >> bytes class_str = 1; >> } >> >> message result{ >> int64 res = 1; >> } >> >> client.py file looks like below: >> >> import grpc >> import serverdata_pb2 >> import serverdata_pb2_grpc >> import pickle >> import pandas as pd >> >> >> class Get_Hash(): >> def get_hash(self,df): >> return pd.util.hash_pandas_object(df).sum() >> >> a = serverdata_pb2.client_class() >> a.class_str = pickle.dumps(Get_Hash) >> >> channel = grpc.insecure_channel('localhost:50051') >> # create a stub (client) >> stub = serverdata_pb2_grpc.DataProviderStub(channel) >> response = stub.Get_Data(a) >> >> print(response.res) >> >> On running this client, I'm getting the following error: >> >> Traceback (most recent call last): >> File "client.py", line 18, in <module> >> response = stub.Get_Data(a) >> File "/home/jatin/.local/lib/python3.8/site-packages/grpc/_channel.py", >> line 826, in __call__ >> return _end_unary_response_blocking(state, call, False, None) >> File "/home/jatin/.local/lib/python3.8/site-packages/grpc/_channel.py", >> line 729, in _end_unary_response_blocking >> raise _InactiveRpcError(state) >> grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that >> terminated with: >> status = StatusCode.UNKNOWN >> details = "Exception calling application: client_class" >> debug_error_string = >> "{"created":"@1600867086.557068214","description":"Error received from peer >> ipv6:[::1]:50051","file":"src/core/lib/surface/call.cc","file_line":1061,"grpc_message":"Exception >> >> calling application: client_class","grpc_status":2}" >> > >> >> I'm unable to resolve this error. I checked the type of the pickle file. >> It was 'bytes'. So, I changed the type in the .proto file to bytes. I'd be >> grateful if someone can help me resolve this error. >> >> Regards, >> Jatin >> >> >> >> >> -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/65656b59-cc4d-40d7-a00f-eef9b8f785ecn%40googlegroups.com.
