Comment by Thaxll

2 days ago

You're assuming that not having a crash would prevent the problem they had.

In this case that seems like a safe assumption? The crash meant there was impact to all customers, not just the ones using the new feature.

  • Ok so your Rust program exit gracefuly because of handled deserialization error, how does it helps?

    • Why in the world would the program exit due to that? This is a server. I'd you're going to fail entirely due to the error, the natural scope of error propagation is to fail the request. Having the entire program quit would be insane.

      And when the failures are request-scoped, you're back to the outage not being global but affecting only the customers using this feature with a bad config.

      1 reply →

I'd say the binary not crashing would certainly be an improvement.

Even better if the type checker specifically highlights the fact that a value can be zero, and prevents compilation of code that doesn't specifically take this possibility into account.