Name registration error returned if no available node #42
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A call to
Swarm.register_name/5
will return{:error, :no_node_available}
when the configured distribution strategy returns:undefined
as the node to host the named process. This indicates that there are too few nodes available to start a process.This pull request simplifies the tracker process by removing the pending name registrations when the distribution strategy indicates there is no available node to host the process. This is only applicable when using the
Swarm.Distribution.StaticQuorumRing
strategy module.Previously the register name call would block indefinitely until the process could be started (once a node became available). The amended behaviour is to return an error tagged tuple to indicate that registration has failed. The caller should handle retrying while waiting for the cluster to form. It also allows errors to be logged and monitored.