[jira] [Created] (HELIX-522) Support dynamic config by Helix

2014-09-27 Thread Zhen Zhang (JIRA)
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

2014-09-27 Thread Zhen Zhang
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

2014-09-27 Thread Sandeep Nayak (JIRA)

[ 
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

2014-09-27 Thread Kanak Biscuitwala (JIRA)

[ 
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)