Github user kishoreg commented on the issue: https://github.com/apache/helix/pull/58 This should fix it. One scenario, where this will result in undesirable output is when the entire cluster is restarted. Let's day P was on NODE_0 and NODE_1, we paused the controller, restarted all nodes and unpaused controller. It's desirable to put P on the same nodes (NODE_0, NODE_1), but since we remove it from the map, it might reassign it to another node and this will cause a lot of reshuffling. Another alternative is to keep the current code but during sorting use the state priority followed by node names. With this change currentMapping: `{P: {NODE_0: OFFLINE, NODE_1: ONLINE}}` after sorting should result in `[NODE_1, NODE_0]` and hence no movement.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---