ok now if server A goes down and a new server D joins the raft server peer, how can that update should happen so everyone (RaftServer and RaftClient) is aware of the new peer?
On Thu, Aug 4, 2022 at 9:28 AM Tsz Wo Sze <[email protected]> wrote: > > Yes they do have same group id. > > That is good. > > > ... Serve A could have peer list: [A, B], and Server B could have peer > list: [B, C] ... > > In this case, all servers A, B and C must have the same peer list [A, B, > C] when they start up. > > Tsz-Wo > > > On Wed, Aug 3, 2022 at 10:10 PM Swapnil Tailor <[email protected]> > wrote: > >> 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 >>>>>>> >>>>>>
