Hi team, First I want to thanks all for this great software. I am using helix for our storage system. In our system we have 3 states read , weak read and offline. The state transactions are read-> <- weak read-> <-offline, very similar to the master/slave example. But the difference is that we need participate to control its status , which means a participate can decide what is itself's current ideal state. If a participate find he can’t follow write speed(we use a queue to do write , participate consumes message from this queue), then it can change its state from read to weak read. Is there a proper way to do this state change from participate side? I looked into Helix java doc and found in HelixAdmin there is a method “rebalance” seems can achieve my goal, but my scenario is only need to change one server’s state,“rebalance” seems too over. Or does this a Helix fit scenario? The other solution I thought about is using zookeeper to manage read and weak read states, and helix only maintain the online offline state. Once I get an online server from helix , then I will look up into zookeeper to find out what is the current read state of this server(maybe push mode from zookeeper is more proper). In this solution we don’t need to change helix ideal state from participate side, but this seems like mix helix and zookeeper to maintain state machine together. Could you please give me some advise on my thoughts?
Thanks Jianqiu
