-
Notifications
You must be signed in to change notification settings - Fork 65
Open
Labels
Description
In V5 we have an updated node_spec
-type node_spec() :: #{
name := node(),
listen_addrs := [listen_addr()],
channels := #{channel() => channel_opts()}
}.parallelism is now a per channel property.
We need to review the need for channels in this structure.
All nodes in a partisan cluster should have the same channels configuration, so when using a discovery strategy e.g. DNS we get nodename and list_addrs and we append the local channels config to create the node_spec(). If a node is wrongly configured we will have two different node_spec() objects for the same nodename.
The proposal would be to remove channels from the spec and just get it from the config partisan_config:channels().
-type node_spec() :: #{
name := node(),
listen_addrs := [listen_addr()],
}.This also makes the membership CRDT and the gossip payload smaller