We have a service which establishes 1000s of ssl based grpc connections to our backend servers, while trying to process a lot of other data. Due to this we encounter long java GC pauses, sometimes >10 secs.
The default handshake timeout is 10 secs (https://github.com/netty/netty/blob/00afb19d7a37de21b35ce4f6cb3fa7f74809f2ab/handler/src/main/java/io/netty/handler/ssl/SslHandler.java#L413)
As a result of this, we encounter multiple handshake timeout errors in the order 1000s as well. Is there a reason why this is not exposed to the client? so that the caller can change the value.
Is there any other alternative approach to solve this and not encounter so many handshake timeouts. May be an interceptor and queue up the requests if the handshake is not complete?