jgroups-raft icon indicating copy to clipboard operation
jgroups-raft copied to clipboard

Dynamic membership changes

Open belaban opened this issue 3 years ago • 0 comments

When a new member D is added to {A,B,C}, then all configuration files need to be changed to set members="A,B,C,D". This should be done dynamically, so that no configuration file changes should be required:

  • When a member gets a configuration change (add-member, remove-member), it uses the new configuration immediately, without waiting for it to be committed (Raft dissertation, ch. 4.1).
  • This requires that the members configuration is stored in/with the snapshot.
  • When a new member starts, its initial membership is configured by the XML config file
  • Then (if present) the snapshot is read and members changed
  • Then the log is read, this may also contain configuration changes, changing members

The advantage is that the config file never needs to be changed. However, members still need to be added/removed manually or programmatically.

belaban avatar May 25 '22 11:05 belaban