Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Lidi Zheng
    @clayg Let's continue the discussion in grpc/grpc#25351.
    @lidizheng no, problem - I'll respin soon (I've been watching all your asyncio gRPC youtube videos :wink: )
    Does grpc c++ version support vcpkg tool?
    anyone can help me with this question?
    @lidizheng so I'm looking at the inheritence and mixins trying to decide the best way to encapselate everyone handling their own states during cancel/del - did you have some specific ideas how you wanted that to look?
    I'm no expert on the cython - but I feel like I shouldn't have to blow away my entire python_build dir when I change just one .pyx file
    man, i hope this bazel stuff is worth it
    so bazel build //src/python/grpcio/grpc/_cython:cygrpc.so took a LONG time and after I moved the .so cp bazel-bin/src/python/grpcio/grpc/_cython/cygrpc.so src/python/grpcio/grpc/_cython/ it seems to be running my modified code... so I guess worth it?
    M. Schulze
    Can libcurl be used as a http/2 layer to build a gRPC lib based on shared c?
    19 replies
    Awth Wathje
    hey guys, is there any way to serialize a message (in JS) to base64 string and serve it in Node (res.send(base64String))? want to build a simple mock server. I know I can use serializeBinaryToWriter(message, writer) and then writer.getResultBase64String() but for some reason it produces a different (shorter) string than the one served by the actual gRPC endpoint (given the same data)
    7 replies
    @lidizheng I updated grpc/grpc#25351 - I had to rework the plumbing on the inheritance chain for it to make sense to me; but I think it looks ok. Tests are still a bit on the nose; but they'll fail with the change reverted and the request_iterator one can demonstrate the gc problem if you run it by itself.
    Trevor Jones

    So i've got a project that is pretty simple. basically just one streaming call in kotlin. rpc Outputs (messages.OutputsRequest) returns (stream messages.OutStreamChunk); point is to stream stdOut/stdErr from server running a process back to the client real time.

    what I am finding is that nothing gets sent until the flow on the server side gets closed, then all of it dumps to the client at once. total content size is around 512kb in raw text.

    so what it feels like is that it is buffering at the server for far too long. this is my first grpc anything so i don't know what I don't know. is there anything that seems like a gotcha I should check first? sort of prodding at it blind now

    4 replies
    /root/grpc_1.15.1_withoutgit/cmake/build/libgrpc.a(ssl_transport_security.cc.o): In function init_openssl()': ssl_transport_security.cc:(.text+0xc8): undefined reference toOpenSSL_add_all_algorithms'
    /root/grpc_1.15.1_withoutgit/cmake/build/libgrpc.a(ssl_transport_security.cc.o): In function peer_property_from_x509_common_name(x509_st*, tsi_peer_property*)': ssl_transport_security.cc:(.text+0x5ff): undefined reference toOPENSSL_free'
    /root/grpc_1.15.1_withoutgit/cmake/build/libgrpc.a(ssl_transport_security.cc.o): In function add_pem_certificate(x509_st*, tsi_peer_property*)': ssl_transport_security.cc:(.text+0x667): undefined reference toBIO_get_mem_data'
    /root/grpc_1.15.1_withoutgit/cmake/build/libgrpc.a(ssl_transport_security.cc.o): In function add_subject_alt_names_properties_to_peer(tsi_peer*, stack_st_GENERAL_NAME*, unsigned long)': ssl_transport_security.cc:(.text+0x7c3): undefined reference toOPENSSL_free'
    1 reply
    how to resolve this?
    Nikkolai Fernandez
    Hello Guys, Im new to grpc
    I have an error when connecting to the server something like "Error: 14 UNAVAILABLE: No connection established", let me know what I need to provide here. thanks
    2 replies
    Aapeli Vuorinen
    Is there a full xDS example for gRPC somewhere (preferably Python or C++)? Or other good docs for xDS?
    5 replies
    My AsyncServerStreamingCall is returning on the client side before the security interceptor gets to execute on the server. So if the user fails to validate for the operation, an RpcException with a Status of PermissionDenied cannot be thrown and returned to the client at the time that the registration for events was made. It seems less than optimal to have have to create another mechanism to notify the client that they do not have the right a set of events they registered for, after returning with no error. Is there a way to make the caller to wait until the stream is set up on the server? Am I missing a basic concept on how to approach this?
    Tom Kirkpatrick

    Hi. I'm having some issues connecting to a go grpc server from c# grpc client:

    I0215 07:57:22.940083 123145488719872 /tmpfs/src/github/grpc/workspace_csharp_ext_macos_x64/src/core/ext/filters/client_channel/subchannel.cc:1060: Connect failed: {"created":"@1613372242.939926000","description":"Cannot check peer: missing selected ALPN property.","file":"/tmpfs/src/github/grpc/workspace_csharp_ext_macos_x64/src/core/lib/security/security_connector/ssl_utils.cc","file_line":160}

    I'm unclear if this error in a client or server issue. I'm able to connect to a different go grpc server using the exact same client code which makes me think it must be an issue with the server. Any ideas? Thanks

    Tom Kirkpatrick
    Turns out the issue was related to the way that the tls certs had been generated on the server side. See lightninglabs/faraday#106
    hi. Is there any way i can make my gRPC requests (using the c# client for webgrpc) to move from xxx/posts.Posts to xxx/api/posts.Posts? I've tried by changing the base address of the http handler, the grpc channel, tried to make my own factory etc but it keeps sending those resuts on /posts.Posts instead of api/. Because of this i have issues setting up the nginx conf on the kubernetes cluster bcs it relies on the /api for reverse proxying.
    1 reply
    Konstantin Bläsi

    Does anyone know why I am getting these with node 14 + grpc with typescript ?

    Response deserialization failed: reader.isDelimited is not a function
    Error: 13 INTERNAL: Failed to parse server response

    9 replies
    syntax = "proto3";
    package system;
    import "google/protobuf/empty.proto";
    message UptimeResponse {
      uint64 os_uptime_seconds = 1;
      repeated float os_load_average = 2;
    service System {
      rpc uptime (google.protobuf.Empty) returns (UptimeResponse) {};
    Hello , Is it possible to make the grpc Server handle only one request at a time ? Similar to WCF ConcurrencyMode.Single ?
    4 replies
    Big Jake
    so i'm wondering if there is a "grpc lite" build of grpc
    2 replies

    Join us for February's 🐶 gRPC Community Meetup! 🎉

    Agenda: gRPC Community Doc

    This virtual event is designed for end users, a space for our community to meet, get to know each other, and learn about uses and applications of gRPC project. In this meeting, we will hear working group updates.

    Ahmet Alp Balkan, Software Engineer at Google, will present "Serverless gRPC on Google Cloud" where he'll run gRPC applications as serverless on Google’s infrastructure. (Hint: It's not Kubernetes). With Cloud Run, we can run any container image using any RPC type or language quite easily. But don’t get scared: You don't have to learn containers to use this. In this demo, we'll show how you can use technologies like ko and Buildpacks.

    Looking forward to seeing most of you at the meetup next week!

    Check out the meetup page: https://www.meetup.com/gRPCio/events/276403597/

    Join with Google Meet

    Join by phone
    ‪(US) +1 929-277-6563‬ PIN: ‪893 502 491‬#


    We will be hosting a new community meetup next Tuesday, February 23. If you are part of a working group, please share any updates you want gRPC users to be aware of. Add your updates, with any relevant links, here: http://bit.ly/grpcmeetings

    Deadline to submit an update is Monday, February 22.

    Big Jake
    is it possible to build grpc without ssl support?
    or cares
    Big Jake
    seriously this is crazy. it's trying to build bssl - why do i want that?
    i go through this nonsense every time i try to use grpc
    Big Jake
    all i need is the runtime - nothing else
    Is it possible to make several bidi streaming calls to the same method over the same grpc connection? We're looking at possibility to improve the throughput on top of high latency connection. Using several connections in parallel improves throughput but the thought was whether we can use multiple parallel http2 streams to achieve the same throughput improvement as with several concurrent connections.
    1 reply
    Big Jake
    I am getting these link errors. Which library are they coming from?
    linux1/obj/svc/src/proto/clock-service.clock.pb.o:clock.pb.cc:vtable for svc::RtcDateTime: error: undefined reference to 'google::protobuf::Message::GetTypeName() const' linux1/obj/svc/src/proto/clock-service.clock.pb.o:clock.pb.cc:vtable for svc::RtcDateTime: error: undefined reference to 'google::protobuf::Message::InitializationErrorString() const'
    7 replies
    er, which library provides them
    Big Jake
    so after hacking on grpc's build system for two days i finally get a successful cross build
    Jérôme BAROTIN
    Is it possible to give an URI to ManagedChannelBuilder.forTarget(..) that contains two IP Addresses, in order to set up the load balancing without DNS.
    2 replies
    Strokachuk Oleg
    Hi everybody!
    I'm using microservices with grpc in golang, which are working behind ingress in k8s.
    I have faced with a problem that for under the pressure microservices uses too much memory - after 500 connections it uses about 100-200MB, but after startup it uses about 15 MB. I'm wondering because I would like to set a limit for pods.
    I have already tried to tune read/write buffer size, max concurrent streams, connection limit, keepalive settings and, of course, I have checked memory leaks. But I'm still wondering about memory usage.
    Is this memory usage in valid range? Can you share your own experience about memory usage of your microservices and connection limits settings for grpc server. Thanks!
    I need to host grpc in golang service in Azure. But, it only accepts it with grpcweb. Can any suggest a procedure to host grpc server with grpcweb in golang
    Hi guys any tips on how to send custom class objects in grpc? How to define it in protobuf and receive the object at server-side?
    For instance the server needs to hold an ArrayList<MyClass> mystuff = new ArrayList<~>(); where the MyClass contains alot of variables and has been called locally by reference before but now needs to be sent across the network. Much appreciations for answers!
    4 replies
    is there any DSL like xpath for xml for gRPC object?
    1 reply
    Hey, is there any documentation / example for a server side stream retry mechanism? I could only find an example / proposal for normal UnaryCalls, which works fine except that it doesn't handle server streams (no message, etc. is received) (using grpc-node, followed grpc/grpc-node#284 but lacks support for stream responses)
    4 replies

    hey @ejona86 was there a commit that added the enter and exit calls you proposed here? grpc/grpc-java#1949

    the issue was closed but i don't see those methods on SimpleForwardingClient/ServerCall

    7 replies
    Michael Duane Mooring
    Hello, is there a way to netstat for gRPC connections, or how do we debug/monitor?
    2 replies
    Hello every one!
    What is best practice to propagate context in async grpc calls?
    (headers propagation from server to client, MDC context enrichment etc...)
    1 reply
    Eric Dudley
    Is it possible to configure ChannelArgs in gRPC-web? Seeing very low throughput ~1MBps for streams going through Envoy gRPC-web filter to a gRPC service, and was thinking I could try increasing GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES (https://grpc.github.io/grpc/core/group__grpc__arg__keys.html#gac02673f790cd2e8616e03aa010be67d6), but I'm not sure how to do that with gRPC-web.
    1 reply
    Kenneth Tan
    heya first time using grpc on python, was wondering if None is being respected as an optional value? i.e. protobuf optional name, will that be deserialized as None in the request to the server?
    i tested a bit and i am getting name == '' # True instead of name == None # True
    Mark Sandan
    Has anyone else observed non-deterministic RST_STREAM with error code 2 errors in the client (in particular grpc cpp 1.32.0) when the server (in particular golang 1.36.0) does a Send and then returns from the RPC in quick succession? I'm using a bidi streaming rpc. I see this behavior when using nginx proxies and an L4 Load Balancer in the cloud. It looks like a race condition is happening between the last Send and the EOS frame when returning from the rpc in the server. The logs in the server show a transport is closing error when I turn on the logging. The rpc itself finishes around 100 to 200 ms and the bytes sent and received are around 300 bytes. Indeed, if I add a sleep(1) between the last Send and the return nil in the server, I no longer see RST_STREAM errors.