Erlang gen_server: When the Synchronous Loop Becomes Your Bottleneck
Your gen_server serializes requests by design. Learn when that guarantee helps and when to refactor to async or multi-process patterns for throughput.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Your gen_server serializes requests by design. Learn when that guarantee helps and when to refactor to async or multi-process patterns for throughput.
Use one_for_one for independent stateful gen_servers, pair it with caller timeouts, and verify fresh state after a kill.
Learn how to use gleam_otp to implement Erlang gen_server behaviours and supervision trees in Gleam, with concrete build and verification steps for the Erlang target.
Erlang’s lightweight processes enable millions of concurrent tasks with minimal memory. Learn how to build a fault‑tolerant counter server, watch it recover from crashes, and understand key trade‑offs like mailbox size, data copying, and supervision loops.
Learn how to implement zero-downtime updates in Erlang using OTP supervisors, gen_server state migration via code_change/3, and the release_handler for hot code upgrades.
In Erlang/OTP, using a `gen_server` to manage connection pools can lead to intermittent exhaustion when downstream dependencies experience latency. While the process remains active, the `gen_server` loop lacks a native timeout for individual message processing. If a request handler blocks on external I/O, the process cannot consume subsequent messages, causi