how can i show the message size limit? 在 2016年8月30日星期二 UTC+8下午12:24:55,Nathaniel Manista写道: > > On Mon, Aug 29, 2016 at 9:01 PM, <[email protected] <javascript:>> > wrote: > >> I wrote a server and client in Python, grpcio version is 1.0.0, protobuf >> is 3.0.0, os is centos 6. >> >> my proto file is >> ------------------------- >> service AudioClassification { >> rpc Classify (AudioUnit) returns (Prob) { >> } >> } >> message AudioUnit { >> string id = 1; >> bytes audio = 2; >> } >> message Prob { >> float prob = 1; >> } >> --------------------------- >> >> when I run my client, I will put an audio file content to the field >> audio. If the file size is 841772 bytes, the return will be ok, but the >> file size is large, for example, 4482088 bytes, it will return an error, >> the stacktrace is bellow: >> ------------------------------------------------------ >> File "./client2.py", line 12, in run >> reply = stub.Classify(AudioUnit(id='1', >> audio=bytes(open('../data/1018465138.wav', 'rb').read())), timeout=3600) >> File >> "/home/web_server/dlpy2/dlpy/lib/python2.7/site-packages/grpc/_channel.py", >> line 481, in __call__ >> return _end_unary_response_blocking(state, False, deadline) >> File >> "/home/web_server/dlpy2/dlpy/lib/python2.7/site-packages/grpc/_channel.py", >> line 432, in _end_unary_response_blocking >> raise _Rendezvous(state, None, None, deadline) >> grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with >> (StatusCode.INTERNAL, >> {"created":"@1472528410.219728253","description":"RST_STREAM","file":"src/core/ext/transport/chttp2/transport/frame_rst_stream.c","file_line":107,"http2_error":2})> >> ------------------------------------------------------ >> >> my client code is: >> --------------- >> def run(): >> channel = grpc.insecure_channel('localhost:10411') >> stub = AudioClassificationStub(channel) >> reply = stub.Classify(AudioUnit(id='1', >> audio=bytes(open('../data/1018465138.wav', 'rb').read())), timeout=3600) >> print(reply.prob) >> >> if __name__ == '__main__': >> run() >> --------------- >> >> Anyone can give me some tips? >> > > StatusCode.INTERNAL could mean one of a few different things > <https://github.com/grpc/grpc/blob/master/doc/statuscodes.md>, but I > suspect the problem is that you're hitting the message size limit. How much > thought have you given to making your Classify method response-streaming > and breaking up your audio data into each-no-larger-than-some-size messages? > -Nathaniel >
-- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/d45f2657-2deb-4f82-b40d-540d54849b8a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
