Open
Description
As ra nodes require a persistent identity (i.e. be reachable on the same destination after a restart) they currently register themselves with the local process registry which means that the ra_node_id()
used in the cluster configuration and all interactions is of the type: {atom(), node()}
. This is fine when the ra clusters required are of a fixed number. When starting and stopping ra clusters dynamically this could lead to atom table exhaustion.
To counter this we should consider some alternative means of providing a persistent identity. This means more complexity and failure scenarios to consider.
We'd require some alternative means of mapping, say, a binary name to a pid and keep this pid current for both ra peers and clients.