For better generality to phxpaxos,we need to consider a situation that different group with different state machine, so every group's logic must be independent. (include checkpoint logic)
For your case, there's a way to fix it, not very difficult.
Because each group is in the same process, each group can communicate easily.
Write some logic in StateMachine::LoadCheckpointState, to let the group that finishes first wait for other groups. For example, sleep.
For better generality to phxpaxos,we need to consider a situation that different group with different state machine, so every group's logic must be independent. (include checkpoint logic)
For your case, there's a way to fix it, not very difficult.
StateMachine::LoadCheckpointState
, to let the group that finishes first wait for other groups. For example, sleep.