When working with distributed Erlang applications at Logflare/Supabase, we encountered an interesting issue where the :global_name_server would become overwhelmed with messages, leading to a boot loop situation. This issue is particularly relevant when dealing with the prevent_overlapping_partitions feature.
6 posts tagged with "erlang"
View All TagsElixir Syn: Custom Event Handler Callbacks for Process Conflict Resolution
The :syn library provides a distributed process registry for Elixir applications, offering an alternative to :global for name registration across clusters. It allows you to define custom event handler callbacks to handle process conflicts and registration scenarios.
Understanding Erlang's :global prevent_overlapping_partitions Option
The prevent_overlapping_partitions option in Erlang is a configuration parameter that affects how the :global module handles network partitions in distributed Erlang systems.
Adding spawn_opts to an Elixir/Erlang Supervisor
Quite surprisingly, Supervisors do not have an exposed option for taking a spawn_opt. spawn_opt are process options that are used to control the process behaviour when it comes to memory management, and can be incredibly useful when hunting down garbage build-up in processes.
Erlang :global Resource Locks (Elixir)
Today, we're talking about something that isn't really well explained in the Erlang documentation — resource locking.
