Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for keep-alive-time parameter #74

Open
cescoffier opened this issue Oct 23, 2023 · 9 comments
Open

Add support for keep-alive-time parameter #74

cescoffier opened this issue Oct 23, 2023 · 9 comments
Labels
enhancement New feature or request
Milestone

Comments

@cescoffier
Copy link
Contributor

The Netty variant of the gRPC server allows configuring the keep-alive-time. However, the Vert.x variant does not.

Related to: quarkusio/quarkus#36033

@cescoffier cescoffier added the enhancement New feature or request label Oct 23, 2023
@vietj
Copy link
Member

vietj commented Oct 23, 2023

which keep alive are we talking about ? HTTP/2 ? it is not clear

@cescoffier
Copy link
Contributor Author

In the NettyChannelBuilder, you have the io.grpc.netty.NettyChannelBuilder#keepAliveTime with the following javadoc:

Sets the time without read activity before sending a keepalive ping. An unreasonably small value might be increased, and Long.MAX_VALUE nano seconds or an unreasonably large value will disable keepalive. Defaults to infinite.
Clients must receive permission from the service owner before enabling this option. Keepalives can increase the load on services and are commonly "invisible" making it hard to notice when they are causing excessive load. Clients are strongly encouraged to use only as small of a value as necessary

Basically the time between pings.

Do we have the equivalent method in the pure Vert.x variant?

@vietj
Copy link
Member

vietj commented Oct 23, 2023

assuming HTTP/2 ping ?

@cescoffier
Copy link
Contributor Author

Yes, Http/2 pings.

@vietj
Copy link
Member

vietj commented Oct 23, 2023

It seems that it periodically sends a ping HTTP/2 frame to the server to "keep alive" the stream. We could develop a similar feature for the new client on top of Vert.x HTTP/2 connection ping feature.

@vietj
Copy link
Member

vietj commented Oct 23, 2023

@vietj vietj modified the milestones: 4.5.0, 4.5.1 Nov 14, 2023
@vietj vietj modified the milestones: 4.5.1, 4.5.2 Dec 13, 2023
@vietj vietj modified the milestones: 4.5.2, 4.5.3 Jan 30, 2024
@vietj vietj modified the milestones: 4.5.3, 4.5.4 Feb 6, 2024
@vietj vietj modified the milestones: 4.5.4, 4.5.5 Feb 22, 2024
@vietj vietj modified the milestones: 4.5.5, 4.5.6 Mar 14, 2024
@vietj vietj modified the milestones: 4.5.6, 4.5.7, 4.5.8 Mar 21, 2024
@vietj vietj modified the milestones: 4.5.8, 4.5.9 May 24, 2024
@ThoSap
Copy link

ThoSap commented Jun 7, 2024

Is this still planned to be worked on?

@vietj
Copy link
Member

vietj commented Jun 9, 2024

it is actually not defined what this means, if that is defined then we can tell whether or not it will be planned

@vietj vietj added this to the 4.5.10 milestone Jul 17, 2024
@vietj vietj modified the milestones: 4.5.10, 4.5.11 Sep 4, 2024
@sigurd-cp
Copy link

it is actually not defined what this means, if that is defined then we can tell whether or not it will be planned

I would expect, that a keep-alive-timeout can be configured and based on this configuration a ping is sent to keep the connection alive (e.g. a grpc server, also a load balancer, getting informed and does not cancel the connection).

FYI: There is also an open issue in the quarkus project quarkusio/quarkus#36033

Please let us know what is still undefined.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants