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

Add server/remove server internal command is not saved after compaction

Open belaban opened this issue 3 years ago • 2 comments

When we add or remove a server (e.g. add(D)), the command is saved in the log as an internal command. However, when we do a log compaction, the internal command is not added to the state snapshot.

Todos:

  • Confirm that the above is true
  • Investigate adding internal commands to the state. Perhaps a separate state (controlled by jgroups-raft), next to the application state?

belaban avatar Nov 21 '22 06:11 belaban

Hey, Bela. I just got a test verifying that this happens. I'll look more into this next week and come up with something. I like the approach of having an internal state machine for the protocol, as it can also expand to more than members down the road.

jabolina avatar Nov 26 '22 01:11 jabolina

Right, this sounds feasible. If you want to discuss, I'm available next week until WED afternoon (then I'm on PTO for 1 week).

belaban avatar Nov 26 '22 11:11 belaban