Skip to content

Add support for MAX_CONNECTION_AGE and MAX_CONNECTION_AGE_GRACE equivalents #1428

Closed
@jalaziz

Description

@jalaziz

Feature Request

Motivation

In order to properly support DNS-based client side gRPC load balancing, the server must periodically terminate the client connection gracefully by sending a GOWAY frame and subsequently closing the connection.

MAX_CONNECTION_AGE and MAX_CONNECTION_AGE_GRACE are defined in the gRPC Server-side connection management.

Unfortunately, due the inconsistent support of client connection timeout settings in gRPC client libraries, the current recommendation appears to be to use service side.

These issues provide more context:

Proposal

Introduce max_connection_age and max_connection_age_grace server timeouts. On first look, it appears support would need to be added to hyper first.

Alternatives

The alternative is client side timeouts. Unfortunately, client side timeouts are not implemented consistently. See grpc/grpc-go#1663.

I am not aware of any alternatives other than service meshes, proxies, xDS, or a custom gRPC resolver or load balancing mechanism (all of which can be quite complex).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions