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
