We built a self-healing system to survive a concurrency bug at Netflix
pushtoprod.substack.com
We built a self-healing system to survive a concurrency bug at Netflix
1–10 of 184 posts
Re: We built a self-healing system to survive a concurrency bug at Netflix
#2Re: We built a self-healing system to survive a concurrency bug at Netflix
#3Had a similar problem but memory wise with a pesky memory leak, and the short term solution was to do nothing as instances would to do nothing.
Re: We built a self-healing system to survive a concurrency bug at Netflix
#4One of the things I am greatful for kubernetes and the killing of pods. Had a similar problem but memory wise with a pesky memory leak, and the short term solution was to do nothing as instances would to do nothing.
Re: We built a self-healing system to survive a concurrency bug at Netflix
#5Re: We built a self-healing system to survive a concurrency bug at Netflix
#6How was he managing the instances? Was he using kubernetes, or did he write some script to manage the auto terminating of the instances?
It would also be nice to know why:
1. Killing was quicker than restarting. Perhaps because of the business logic built into the java application?
2. Killing was safe. How was the system architectured so that the requests weren't dropped altogether.
EDIT: formatting
Re: We built a self-healing system to survive a concurrency bug at Netflix
#7Re: We built a self-healing system to survive a concurrency bug at Netflix
#8This was a nice short read. A simple (temporary) solution, yet a clever one. How was he managing the instances? Was he using kubernetes, or did he write some script to manage the auto terminating of the instances? It would also be nice to know why: 1. Killing was quicker than restarting. Perhaps because of the business logic built into the java application? 2. Killing was safe. How was the system architectured so tha…
Re: We built a self-healing system to survive a concurrency bug at Netflix
#9This was a nice short read. A simple (temporary) solution, yet a clever one. How was he managing the instances? Was he using kubernetes, or did he write some script to manage the auto terminating of the instances? It would also be nice to know why: 1. Killing was quicker than restarting. Perhaps because of the business logic built into the java application? 2. Killing was safe. How was the system architectured so tha…
Kubernetes launched in 2014, if memory serves, and it took a bit before widespread adoption, so I’m guessing this was some internal solution.
This was a great read, and harkens back to the days of managing 1000s of cores on bare metal!
Re: We built a self-healing system to survive a concurrency bug at Netflix
#10Is software deployed regularly on this cluster? Does that deployment happen faster than the rate at which they were losing CPUs? Why not just periodically force a deployment, given it's a repeated process that probably already happens frequently.
What happens to the clients trying to connect to the stuck instances? Did they just get stuck/timeout? Would it have been better to have more targeted terminations/full terminations instead?