[ https://issues.apache.org/jira/browse/S4-141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13760318#comment-13760318 ]
Matthieu Morel commented on S4-141: ----------------------------------- That looks quite interesting thanks for formalizing the proposal! S4-110 focuses on elasticity when adding or removing nodes. It does not consider automatic load balancing, although being able to repartition efficiently can be seen as a first step. in S4-110 Helix is used to distribute and re-distribute PEs across nodes. We actually gather keys into partitions (buckets), with nb partitions >> nb nodes (You also mention this approach in your document). Helix computes a routing table (partition->node mapping). When nodes are added or removed, Helix efficiently updates the routing table in order to minimize reallocations Regarding the transfer of state and messages: - the simplest approach is to rely on checkpointing for moving PEs. We may lose some state or some messages, but in many cases that's quite acceptable. - if more guarantees are required then something like what you propose could be envisaged, i.e. proactively migrating state and buffering messages. But it's a lot more complex to implement. Regarding the status of S4-110: this is not fully complete. Mostly because the approach requires a lot of refactoring - ideally there should be a less intrusive way to integrate Helix - and because the 0.6 codebase evolved in parallel with many refactorings as well. But it's worth having a look. > Enhance S4 with the elasticity feature > -------------------------------------- > > Key: S4-141 > URL: https://issues.apache.org/jira/browse/S4-141 > Project: Apache S4 > Issue Type: New Feature > Reporter: Kurtt.Lin > Attachments: S4-141.pdf > > Original Estimate: 2,016h > Remaining Estimate: 2,016h > > Attached is a design documentation draft, which aims at enhancing S4 with the > elasticity feature. > Issues discussed are: > * introduction to elasticity > * current status with S4 > * possible roadmap > * the design > * implementation with Helix -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira