We have a golang streaming client that connects and sends messages forever. The server has keepalive.MaxConnectionAge set to 5 minutes to help with load balancing.
Are long-streaming clients and MaxConnectionAge expected to work together?
What I see in practice is that the underlying connection transparently reconnects (TRANSIENT_FAILURE -> CONNECTING -> READY) at 5 minutes, and everything seems fine, but when we reach MaxConnectionAge + MaxConnectionAgeGrace the client gets an 'EOF' error and fails.
This seems like it _might_ be a bug in grpc-go, but it also might be me trying to combine features in an invalid way?