Easwar Swaminathan
Easwar Swaminathan
> But the active connection results in an ENHANCE_YOUR_CALM error after a few grpc-keepalives. Im not sure where i can configure this behavior. This can be controlled by setting the...
Sorry, haven't been able to get back to this. Will definitely pick this up this week.
Go TCP support does the following by default when creating a TCP connection: - Enables TCP keepalives using the `SO_KEEPALIVE` socket option - Sets both the keepalive idle period (`TCP_KEEPIDLE`)...
> If we can't use OS defaults any more, then Go has broken us. Looks like a yes: https://github.com/golang/go/issues/48622
> We should have just been setting "use TCP keepalive" but using the OS defaults. Are you saying, we should have just used TCP keepalives instead of implementing gRPC level...
(1) We currently do implement HTTP/2 level keepalives as described in [A8](https://github.com/grpc/proposal/blob/master/A8-client-side-keepalive.md) and [A9](https://github.com/grpc/proposal/blob/master/A9-server-side-conn-mgt.md). (2) We currently also set `TCP_USER_TIMEOUT` when available and when (1) is enabled. Also this is...
Proposal https://github.com/golang/go/issues/62254 has been created to enable setting of TCP keepalive time and interval separately. Doesn't affect us directly since we were not setting TCP keepalive socket options explicitly. We...
> We could also reset the tcp keepalive settings to the os defaults. My [commit](https://gitlab.mittwald.it/coab-0x7e7/services/n8n-workflow-engine/-/issues/51#note_521157) only disabled them, but reading the defaults should work too. (At least on Linux) I...
We need the following changes: - On the client side: - The creation of the underlying TCP connection happens here: https://github.com/grpc/grpc-go/blob/1e0d82e9f00e430f9d6c903b814d1aea0a6566e8/internal/transport/http2_client.go#L152 - On the last line of this function, we...
@Aditya-Sood > Could you give me some pointers on how I can test this code? I've run the go test tests but the vet script was throwing a command not...