Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
    Vinay Pothnis


    I read in a few places that its strongly recommended that we provide our own executor.

    Had a few questions around this:

    • Is it as simple as the following?
      serverBuilder.executor(Executors.newFixedThreadPool(executorProperties.eventLoopPoolSize, DefaultThreadFactory("some-pool-name")))

    • Do I need to handle any graceful shutdown for ^. And if so, where/how would I do that?

    • How would I go about determining the appropriate count of threads for the above?

    4 replies

    I am working with ActiveMQ. I want to put gRPC calls as a message on ActiveMQ. As soon as consumer picks a message the gRPC in the message should execute.

    gRPC calls take parameters so I want to understand how to send these parameters in the message body along with the method name/identifier. Is there any another way of achieving this which is followed already?


    someResponse response = someStub.rpcMethodName(parameter); // grpc call

    What I need is to store this statement in some format on ActiveMQ without calling the gRPC now. Then in the future when the consumer of ActiveMQ picks up the message containing this statement it should execute this gRPC call. Either storing the actual stub in the message or just the information required to recreate the stub will work.

    1 reply

    ( Trying to send messages with IP using port forwarding on my router.)
    I am having a wierd issue where i am able to send a message from each client i am testing once, but the next message that i try to send never arrives. I am using the same port, same blockingStub (and have seen that it is not blocked) since the program just exits from not getting a response!

    What can it be and has anyone experienced the same thing??
    , firewall was turned off on linux and on the router. Testing the exactly same code and sending the message to myself on the same computer but with same IP and Port works.
    Please if anyone has an idea let me know!


    3 replies
    Alma Maria

    Hello everyone,

    This May 25 at 2:30 PM PT we are hosting a new gRPC community meetup.

    Please add this meeting https://bit.ly/grpcmeetings to your calendar and join us to hear working groups updates and ask any technical questions you may have.

    We will also show and discuss a demo, Improving experiences in Flutter with gRPC led by Fré Dumazy, Senior App Developer at Duo nv in Bruges, Belgium.

    Looking forward to seeing most of you Thursday May 25th at our community meetup!


    I am running a grpc synchronous server impemented in C++. I notice when I run that many threads named ‘default-executo’ are spawned. It seems that even when clients cease to make connections, these threads still persist. There are dozens of these threads, and I would like to know what they are doing and what their lifespan is. Thanks!


    Dexter Bradshaw
    I am trying to write a quick python grpc client using UDS sockets. Can some one point me to a code snippet which does that?
    Hi, I have a question... What is the best tool for performance testing of gRPC?
    Alma Maria

    My apologies, I do not have editing permissions and instead of the calendar link, I shared the meeting doc. Below is the edited message regarding the upcoming community meetup.

    Hello everyone,

    This May 25 at 2:30 PM PT we are hosting a new gRPC community meetup.

    Please add this meeting http://goo.gle/gRPCMeetupMay21 to your calendar and join us to hear working groups updates and ask any technical questions you may have.

    We will also show and discuss a demo, Improving experiences in Flutter with gRPC led by Fré Dumazy, Senior App Developer at Duo nv in Bruges, Belgium.

    Looking forward to seeing most of you Tuesday May 25th at our community meetup!

    Dinkar Ganti
    Hello everyone. I've a question about building grpc from source using bazel. I am trying to build grpc using bazel. I cant seem to be able find the built libraries under LD_LIBRARY_PATH. What am I doing wrong? Thanks. sudo bazel build :all (the command I am trying to run. I added sudo so it is similar to cmake install)?
    Joshua Barnett

    Hi all,

    Our gRPC clients in production occassionally suffer the following UNAVAILABLE errors when sending requests (likely due to scaling, pod reshuffling, or max connection age being reached).

    14 UNAVAILABLE: goaway sent
    14 UNAVAILABLE: GOAWAY received
    14 UNAVAILABLE: Last stream closed after sending GOAWAY
    14 UNAVAILABLE: TCP Write failed

    In this documentation the UNAVAILABLE status has the following description.

    The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations.

    The part that I'm interested in is this note.
    Note that it is not always safe to retry non-idempotent operations

    I have a client interceptor that will retry the request up to 3 times if the response status is UNAVAILABLE and the details are GOAWAY received.

    I have confirmed locally that in the case of this response from the server the request does not reach the server application logic.

    Is it safe to assume any responses returned by the gRPC server itself with the UNAVAILABLE status, have not hit the server application logic and can be retried without issues (double writes etc.)


    7 replies
    @lidizheng I'm trying to troubleshoot the failing tests on grpc/grpc#25351 but I can't get tests passing on master - I'm haivng a compilation/build problem :disappointed:
    5 replies
    Matt Mitchell
    Hi, I’m using Google Cloud PubSub with protobuf… my question is, in Java, how do I transform a generated protobuf message class into a string schema, which is what the PubSub requires in order register a new schema?
    Hi, newb here! How do you generate Kotlin code using the protoc commandline?
    I'm using the libprotoc 3.12.3 version of protoc, which is the version coming with linux distro.
    What does it mean by cq->Next(&tag, &ok) where it returns the out param ok == false? is it the connection from client is dropped? @pszemus any clue on this?
    Nikolay Baryshnikov
    Hi. I have a question about middleware in gRPC protocol. Can I use Kafka as example to deliver messages in unstable network services?
    Hi Guys, I have a question, how to send userAgent from nodejs client?
    Hey all, this is a protobuf question, but this seems to be the main channel for this ecosystem.
    Is there a rule of thumb for how to make sure code generated from protobuf version X is compatible with version Y? We've been bitten a few times when an upgrade is looking for new fields to be present in the generated code. (Python)
    7 replies
    Luis Villavicencio
    Hey guys! anyone familiar with grpc-web (javascript)? Looking to understand if custom option EnumValueOptions work? I'm getting Error in response deserializer function not sure
    Wyatt Anderson
    in Java, what's a reasonably performant and idiomatic way to take a DynamicMessage that is actually a BoolValue and turn it into a real com.google.protobuf.BoolValue in code? can i do this with a marshaller somehow (i.e. so a known-BoolValue field always parses to a BoolValue instead of a DynamicMessage), or do i need to do something like BoolValue.parseFrom(myDynamicMessage.toByteArray()) every time?
    7 replies
    This message was deleted
    3 replies
    Jose Robles
    Hello, this is a quick question, is there an example of how to document a grpc service? since is not a REST service, right now Im using grpc-spring-boot-starter, using the springdoc-openapi-ui will work the same?
    Hello! Who used gRPC with Swift (iOS) ?

    I'm stucked in a very weird issue as posted here - grpc/grpc-java#7691
    Saidly, I have no clue on how to reproduce it. I just know it happend after a while and my system blocking indefinitely
    And I found someone in the chatting history encountered it as well

    @ejona86 I'm calling it using a blocking stub, and in java, so I don't have a context to cancel like in Go, as far as I know. The blocking stub seems to hang indefinitely immediately if it can't get a response from the server, regardless of withDeadlineAfter()

    Anybody has any idea?

    1 reply
    Hi, all~
    @ejona86 Did you have any thing in mind on this?
    Maybe this related? - grpc/grpc-java#5286

    Unhandled Exception: gRPC Error (code: 14, codeName: UNAVAILABLE, message: Error connecting: SocketException: OS Error: Connection timed out, errno = 110, address = *.com, port = 49619, details: null, rawResponse: null)

    Hey guys I need to use gRPC using flutter but no matter what i try I keep getting this. Has anyone used gRPC with flutter before I really would like to learn how to use it with TLS. All the videos and sources are mostly using local databases and insecure credentials.

    Matt Broadstone
    It appears that gRPC does not use TCP keep-alive on its connections, is that true? If so, is there rationale somewhere for using PING frames instead of TCP keep-alive?
    15 replies
    Timo Lange
    With a gRPC Server Application written in C++, is it possible to offer a REST Interface on the same http2 endpoint? Maybe even backward compatible to http (version 1).
    1 reply
    Alma Maria
    Hi everyone!
    Tuesday, June 22 at 2:30 PM PT we are hosting a new gRPC community meetup. Add this meeting to your calendar!
    There will be working group updates, a demo, discussion time, and questions from users.
    Ctx is key!, led by Samuel Davidson, Software Engineer, @Google.
    Looking forward to seeing most of you this Thursday!
    hi all - in process of switching my repo from gogo/proto to protobuf v2 api. We saw that there was a nice plugin library to build our own extensions, however didn't like the fact that it generated another file. Is there anyway to build a plugin that adds to file that protoc-gen-go generates?
    Doug Fawley
    not that i'm aware of, no. protoc-gen-go creates a file for the message definitions and protoc-gen-go-grpc generates a file for the services. grpc used to be a plugin to the gen-go plugin, but their team (rightfully) did not like that structure
    (@technicallyty:matrix.org) Note that both of these codegen plugins actually create one file per .proto file. you could probably just concatenate them yourself (removing the extra package line), if you felt strongly enough about it
    Alexandr Cherednichenko

    Hello everybody.
    We need an Urgent Help.
    (Btw, we're also may be hiring soon and if you'll be able to help - it will most likely lead to an offer. )

    Here is the thing:
    We have NestJS microservices talking trough gRPC. We deploy it to AWS ECS on Fargate.
    In the current (working) configuration we're using one instance per service and a CloudMap for service discovery.

    Now we want to have multiple instances for some services. We've tried to configure the ALB.
    In the TargetGroup we see targets in "Healthy" state.
    But when we try to call services through the Load Balancer we receive '14 UNAVAILABLE: Trying to connect an http1.x server'

    Any ideas?

    Göktürk Gezer
    Hello! I was wondering if it's possible, in grpc-java, to access client metadata at the time when server tasks are submitted to the ExecutorService? Or else, is there any thread-local to identify the client? This is in the context of implementing a custom ExecutorService for gRPC server side. Accessing client info at the time of submitting would give such implementation an ability to bucket incoming tasks based on the source by leveraging injected metadata at client.
    3 replies
    Trương Hải Nam

    Hello experts.

    I am having a sqlalchemy problem with grpc. Can't reconnect until invalid transaction is rolled back

    How can I automatically close a session of sqlalchemy on grpc

    Thank you so much

    Trương Hải Nam
    Thanks all.
    This issue has been closed.
    Hello everyone! Today we are launching the first interactive documentation generator for gRPC and gRPC Web. Our platform reads the proto definition of the API and generates the interactive documentation and SDK for multiple technologies. You can integrate with API by just installing the SDK and then copy-pasting the generated code. It starts from a free plan - as for now, it is the only plan. From our perspective, the whole process works superbly, but our opinions are surely biased. That's why I am writing here - what is your opinion on such a tool? Here's an article that shows off the simplification process:
    If you like the product, please vote on us on today's product hunt:
    Timo Lange
    Hey all, is it possible access the incoming HTTP2 stream of a gRPC server at the point before the proto message de-serialization happens?
    13 replies
    Reason is, that I want to forward the serialized proto using another protocol

    I recently added grpc to my app, but it occasionally reports errors, which cannot be reproduced stably.
    Console output:
    java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:566)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:547)

    My client uses Java, the server uses Python, and the grpc version is 1.36.0
    Do I need to provide more information?

    2 replies
    hey all - im using protoc-gen-go for a project. Im looking at the foo.pb.go file it generated. Curious what the point of func file_foo_proto_init() function is for? anyone know?
    Doug Fawley
    @technicallyty:matrix.org that's really a question for the protobuf team, not the grpc team. "Stuff to do with message parsing" is the most I can tell from just looking at it quickly
    2 replies
    Ben Girardeau
    Hey all, I'm trying to write unit tests for a C++ gRPC client. I saw this page for mocking services, but it only mentions the synchronous API https://grpc.github.io/grpc/cpp/md_doc_unit_testing.html. Is there a way to use gRPC mock services with the asynchronous API?
    Simon Zhu

    Hey guys, I'm considering using https://github.com/grpc-ecosystem/grpc-gateway for generating a REST API for my gRPC server, and I was wondering whether it is possible to specify exceptions to how types are mapped?

    For example, I see in the documentation https://github.com/googleapis/googleapis/blob/master/google/api/http.proto that we can specify body to map the request body to a field in the gRPC request parameters.

    However, will this work properly if I have a string field in my HTTP request body that is defined as an int or some other type in the protobuf definition? I want to use string for all numbers in my REST API, in order to eliminate loss of precision or ambiguity. And if it will not work properly out of the box, is there a way for me to specify the conversion?

    Zellyn Hunter
    Hey folks. Is anyone familiar with what gRPC Java does when aborting downstream gRPC calls because the original deadline was exceeded?
    27 replies
    Matthew B White
    We've dropped back to use v1.1.8 of grpc-js, as we've found v1.2.x and later versions of @grpc/grpc-js seems to be preventing client applications from exiting due to interval timers on the event queue created by @grpc/grpc-js/src/subchannel.ts. Anybody away of this? or seen similar?