Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review the need for the channels property in node_spec() #239

Open
aramallo opened this issue Jan 23, 2023 · 0 comments
Open

Review the need for the channels property in node_spec() #239

aramallo opened this issue Jan 23, 2023 · 0 comments
Assignees

Comments

@aramallo
Copy link
Collaborator

aramallo commented Jan 23, 2023

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

@aramallo aramallo self-assigned this Jan 23, 2023
@aramallo aramallo changed the title Review the need for the channels property in the node_spec() Review the need for the channels property in node_spec() Jan 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant