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

Reply via email to