You can take a look at the code here: https://github.com/prestodb/presto/pull/17915
On Wed, Aug 3, 2022 at 5:55 PM Swapnil Tailor <[email protected]> wrote: > Yes they do have same group id. > > On Wed, Aug 3, 2022, 4:35 PM Tsz Wo Sze <[email protected]> wrote: > >> Hi Swapnil, >> >> We should use the same group configuration (i.e. the same set of servers) >> to start up the servers. Otherwise, there is no way to compute "majority" >> correctly. >> >> BTW, they should also have the same group id. Are they? >> >> Tsz-Wo >> >> >> On Wed, Aug 3, 2022 at 1:54 PM Swapnil Tailor <[email protected]> >> wrote: >> >>> Yes all the servers are having the same RaftGroup but the peer list >>> could be different (i.e. Serve A could have peer list: [A, B], and Server B >>> could have peer list: [B, C]). >>> Reason they won't see all the servers up at the same time. And that's >>> why we want to know if we can add the other peers in the raft group later >>> after the server start up. And what is the right way of doing that. >>> >>> On Wed, Aug 3, 2022 at 1:44 PM Tsz Wo Sze <[email protected]> wrote: >>> >>>> Hi Swapnil, >>>> >>>> Thanks for trying Ratis! >>>> >>>> Are they starting with the same RaftGroup? All servers A, B and C >>>> should have the same RaftGroup(A, B, C) when they start up. >>>> >>>> Tsz-Wo >>>> >>>> On Wed, Aug 3, 2022 at 1:32 PM Swapnil Tailor <[email protected]> >>>> wrote: >>>> >>>>> 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 >>>>> >>>>
