Decouple individual listener initialization during startup #32909
Labels
area/listener
enhancement
Feature requests. Not bugs or questions.
stale
stalebot believes this issue/PR has not been touched recently
Title: Decouple individual listener initialization during startup
Description:
Currently, all listeners are started at once during initialization. This means if Listener A is warming, Listener B will not start. This includes static listeners.
This behavior is discussed a bit in #6904 (though its also largely focusing on how this is exposed in config_dump).
This ends up being operationally risky. We expose stats through a (static) listener, but these cannot be accessed for pods that are stuck warming - when things are going wrong is exactly the time when we really want to see metrics to understand what is going on. Additionally, we serve health checks through (static) listeners. These should fail, but it would be nice to able to fail because we explicitly said "This is not ready yet for " rather than just refusing the connection entirely.
In general I am most concerned with static listeners starting, though I think that is fairly specific to the way we set things up today and doesn't seem like a general case.
One (of, I am sure, many) thing to keep in mind is there are dependencies between listeners for bind_to_port=false listeners. Likely these would need to be tied together in some way for initialization purposes
The text was updated successfully, but these errors were encountered: