Hello,
We are trying to use ratis library to our existing Presto Distributed query
engine. We are facing one issue while working on updating the peers in the
cluster:
Ratis Server runs on multiple resource managers, and it takes time for them
to get up and join the cluster. So we require the Ratis server to have
atleast 2 server before it starts the server. This works well. But the
issue happens in the leader selection as mentioned below:
1. There are 3 ratis servers in the cluster, A, B, C
2. With server A seeing serve B, the minimum server count matches and it
starts the server with peers list as A, B
3. Now when server C starts, we try to update the peer list using client
api:
RaftClient.admin().setContfiguration(updated peer list), but for some
reason this is not working correctly and there are multiple leaders getting
elected in the cluster.
Can someone help understand how should we fix that? And also if the peer
updation logic is correct by each server running RaftClient and update the
configuration as and when it sees the peer list has changes (i.e. a new
server joins the cluster/existing one dies/replaced).
Also side question: Can someone invite me to the slack channel to be part
of the community?
Thanks in advance,
Swapnil