[jira] [Created] (HELIX-522) Support dynamic config by Helix
Zhen Zhang created HELIX-522: Summary: Support dynamic config by Helix Key: HELIX-522 URL: https://issues.apache.org/jira/browse/HELIX-522 Project: Apache Helix Issue Type: New Feature Reporter: Zhen Zhang We are seeing a couple of use cases where an online service may need to roll out a set of new configs in a coordinated way without bouncing the service.Helix can be extended to support this. The basic idea is to generalize ideal-state to support multi-dimensional mappings. Currently Helix uses ideal-state to define the target mapping from a partition to the placement and state of the partition (i.e. partition-(placement, state). The mapping can be extended to support another attribute, say config-version, so it would be partition-(placement, state, config-version). Helix controller is then able to bring the system to the target mappings in a coordinated way. Here is a high level design for this: https://cwiki.apache.org/confluence/display/HELIX/Support+Dynamic+Config -- This message was sent by Atlassian JIRA (v6.3.4#6332)
Re: [DISCUSSION] Support dynamic config by Helix
Thanks. I've created a jira for this: https://issues.apache.org/jira/browse/HELIX-522 We can discuss there. Thanks, Jason On Sat, Sep 27, 2014 at 5:23 PM, kishore g g.kish...@gmail.com wrote: This looks great. We should probably discuss feedback on a jira On Sep 27, 2014 1:33 PM, Kanak Biscuitwala kana...@hotmail.com wrote: Hey Jason, Would you prefer feedback on this email thread, or as a comment replying to the wiki post? Kanak Date: Fri, 26 Sep 2014 17:50:01 -0700 Subject: [DISCUSSION] Support dynamic config by Helix From: nehzgn...@gmail.com To: dev@helix.apache.org Hi, We are seeing a couple of use cases where an online service may need to roll out a set of new configs in a coordinated way without bouncing the service.Helix can be extended to support this. The basic idea is to generalize ideal-state to support multi-dimensional mappings. Currently Helix uses ideal-state to define the target mapping from a partition to the placement and state of the partition (i.e. partition-(placement, state). The mapping can be extended to support another attribute, say config-version, so it would be partition-(placement, state, config-version). Helix controller is then able to bring the system to the target mappings in a coordinated way. I've drafted a high level design for this: https://cwiki.apache.org/confluence/display/HELIX/Support+Dynamic+Config I'd appreciate any feedback. Thanks, Jason
[jira] [Commented] (HELIX-522) Support dynamic config by Helix
[ https://issues.apache.org/jira/browse/HELIX-522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14150871#comment-14150871 ] Sandeep Nayak commented on HELIX-522: - I dont think it makes sense to extend helix to support configuration management. Its a slippery slope and once that door is opened Helix will get requests to support more features to extend that capability. I think before we look at how we accomodate this please consider where you want to take Helix and see if long term this makes sense. Support dynamic config by Helix --- Key: HELIX-522 URL: https://issues.apache.org/jira/browse/HELIX-522 Project: Apache Helix Issue Type: New Feature Reporter: Zhen Zhang We are seeing a couple of use cases where an online service may need to roll out a set of new configs in a coordinated way without bouncing the service. Helix can be extended to support this. The basic idea is to generalize ideal-state to support multi-dimensional mappings. Currently Helix uses ideal-state to define the target mapping from a partition to the placement and state of the partition (i.e. partition-(placement, state). The mapping can be extended to support another attribute, say config-version, so it would be partition-(placement, state, config-version). Helix controller is then able to bring the system to the target mappings in a coordinated way. Here is a high level design for this: https://cwiki.apache.org/confluence/display/HELIX/Support+Dynamic+Config -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HELIX-522) Support dynamic config by Helix
[ https://issues.apache.org/jira/browse/HELIX-522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14150975#comment-14150975 ] Kanak Biscuitwala commented on HELIX-522: - I think if we keep it at version management and let someone else decide what those versions mean, that is probably sufficient and avoids the slippery slope. A question I have is, what happens during a bounce of a node? Previously, we had a well-defined initial state that the node would start in, and further, a node that comes up is assumed to have not been assigned anything yet (and is thus in that initial state for all partitions). To maintain this property, we would need to define some transition that's like (partition, nothing) -- (partition, state, version), which is kind of like a 2D -- 3D transition, and that's fine, but it's worth keeping in mind since it doesn't follow the same pattern as other transitions. Support dynamic config by Helix --- Key: HELIX-522 URL: https://issues.apache.org/jira/browse/HELIX-522 Project: Apache Helix Issue Type: New Feature Reporter: Zhen Zhang We are seeing a couple of use cases where an online service may need to roll out a set of new configs in a coordinated way without bouncing the service. Helix can be extended to support this. The basic idea is to generalize ideal-state to support multi-dimensional mappings. Currently Helix uses ideal-state to define the target mapping from a partition to the placement and state of the partition (i.e. partition-(placement, state). The mapping can be extended to support another attribute, say config-version, so it would be partition-(placement, state, config-version). Helix controller is then able to bring the system to the target mappings in a coordinated way. Here is a high level design for this: https://cwiki.apache.org/confluence/display/HELIX/Support+Dynamic+Config -- This message was sent by Atlassian JIRA (v6.3.4#6332)