[ 
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

Reply via email to