Behavior of connection pooling with Thrift backends

Hi all,

I am aware that linkerd keeps a pool of open connections to the thrift backend services.From the point of view of the server backends, this is a “long lived connection”. Let’s consider a single open connection to a single backend service:

  • What happens, when the backend closes the connection (either calling the close() method) or just dying?
  • What happens when the backend instance is marked as unhealthy (considering that we are using consul)?

When/how does linkerd find out that it shouldn’t send any more requests over that connection in the above scenarios?

Thanks for your help.

  • When the backend closes the connection, that connection will be removed from the connection pool and Linkerd won’t use it anymore.
  • When a backend is marked as unhealthy by Consul, Linkerd will see that backend instance as “Busy” in its load balancer (assuming you are using Consul’s health API) and give higher priority to non-Busy instances.

Thanks @Alex - just to understand this clearly - linkerd doesn’t need an actual request to fail to realize this- correct? But actually just probes it in the background?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.