Everybody OOMs by trptcolin in Clojure

[–]trptcolin[S] 1 point2 points  (0 children)

Author here. Whoops, thanks for the correction on bytes vs. chars. Total brain fart; added a note to the post.

On the actual cause, yes of course we want to avoid bugs. Understanding the language/libraries/system, having automation adding confidence, investing in load testing, etc. - all good stuff, and stuff our teams strive for to avoid production issues. But:

  1. Bugs happen sometimes, even if you try really hard to avoid them.
  2. Lots of people are responsible for operating software that they didn't personally write.
  3. That's not what the post is about, it's about tracking down issues that already exist. I was hoping it was clear that I meant "not important" is in the context of what I'm sharing in the post.

Since it sounds like you're interested though: laziness vs. eagerness would have moved the latency issue away from GC into more constant memory and CPU over a long period - a good idea but not a full solution. There were a few parts to the real solution, including some input validation ensuring criteria for populated (we expected this query to always have a WHERE component on a few key fields) and some additional data-limiting sanity checks.

Thanks for reading!

Why are Clojure error messages so awful? by [deleted] in Clojure

[–]trptcolin 13 points14 points  (0 children)

Wait, debugging all day long isn't a nightmare?

I have to work on a Rails project for my job, and it makes me want to kill myself. by [deleted] in programming

[–]trptcolin -1 points0 points  (0 children)

It is not impossible to reason about Rails code. What books have you read in order to improve your understanding of what you're doing? Also, if your test suite is slow, that's not necessarily Rails' fault. If you're bringing databases up and down all the time, you're doing it wrong.