Updating the underlying systems that our service depends on (including operating system, VMs, core libraries, databases, or other components) is a regular part of our systems' lifecycle. In this post, we'll discuss how we found a performance regression when updating to a newer Erlang OTP release, the steps we took to investigate it, and how we worked around the specific issue at hand.