Hi Han, How / when do the existing nodes update their Token Ring state?
The new joining node sets its tokens and populates to the cluster via gossip after completing data streaming. is that different between the seed node and non-seed node? Data streaming step is skipped if a node is seed. Checkout `StorageService#joinTokenRing()` for the details. I'm particularly trying to understand the fault-tolerant part of updating > Token Ring state on every node The new node only joins the ring (updates the rings state) when the data streaming (bootstrapping) is successful. Otherwise, the existing ring remains as is, the joining node remains in JOINING state, and it won't get any client traffic. If I understand the question correctly. Hopefully, the answers help. - Yifan On Sun, Jan 24, 2021 at 1:00 PM Han <keepsim...@gmail.com> wrote: > Hi, > > I wanted to understand how the bootstrapping (add a new node) works. My > understanding is that the first step is Token Allocation and the new node > will get a number of tokens. > > My question is: > > How / when do the existing nodes update their Token Ring state? and is > that different between the seed node and non-seed node? > > I'm particularly trying to understand the fault-tolerant part of updating > Token Ring state on every node, but couldn't find relevant info by > searching. > > Any info or pointers are appreciated. > > Thanks! > Han > >