what happens to request during the drain process i.e when you put N1 out of service and while N2 is waiting for N1 to finish the jobs, where will the requests for P go to - N1 or N2
On Mon, May 11, 2020 at 12:19 PM santosh gujar <[email protected]> wrote: > Hello, > > I am looking for some clues or inputs on how to achieve following > > I am working on a service that involves running a statetful long running > jobs on a node. These long running jobs cannot be preempted and continue on > other nodes. > > Problem Requirements : > 1. In helix nomenclature, I let's say an helix partition P that involves J > number of such jobs running on a node. (N1) > 2. When I put the node in a drain, I want helix to assign a new node to > this partition (P) is also started on the new node (N2). > > 3. N1 can be put out of service only when all running jobs (J) on it are > over, at this point only N2 will serve P request. > > Questions : > 1. Can drain process be modeled using helix? > 2. If yes, Is there any recipe / pointers for a helix state model? > 3. Is there any custom way to trigger state transitions? From > documentation, I gather that Helix controller in full auto mode, triggers > state transitions only when number of partitions change or cluster changes > (node addition or deletion) > 3.I guess spectator will be needed, to custom routing logic in such > cases, any pointers for the the same? > > Thank You > Santosh >
