logoalt Hacker News

xnorswaptoday at 3:47 PM3 repliesview on HN

My understanding, paraphrased: "In order to gradually roll out one change, we had to globally push a different configuration change, which broke everything at once".

But a more important takeaway:

> This type of code error is prevented by languages with strong type systems


Replies

jsnelltoday at 3:53 PM

That's a bizarre takeaway for them to suggest, when they had exactly the same kind of bug with Rust like three weeks ago. (In both cases they had code implicitly expecting results to be available. When the results weren't available, they terminated processing of the request with an exception-like mechanism. And then they had the upstream services fail closed, despite the failing requests being to optional sidecars rather than on the critical query path.)

show 2 replies
debugniktoday at 3:51 PM

Prevented unless they assert the wrong invariant at runtime like they did last time.

skywhoppertoday at 3:56 PM

This is the exact same type of error that happened in their Rust code last time. Strong type systems don’t protect you from lazy programming.