-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/13754/#review25443
-----------------------------------------------------------


Below are a bunch of thoughts on the design. We should discuss them offline as 
well. Pasting suggestions from Kishore below for further discussion:

   - CLUSTER
      - PARTICIPANT(*)
         - CONFIG
      - SPECTATOR(*)
      - CONTROLLER(*)
      - RESOURCE
         - CONFIG
         - IDEALSTATE
         - EXTERNALVIEW
         - CURRENTSTATE

State machine and constraints can be a separate dimension.


helix-core/src/main/java/org/apache/helix/api/Cluster.java
<https://reviews.apache.org/r/13754/#comment49845>

    Specify what maps to what. In this case I guess it's name to object.



helix-core/src/main/java/org/apache/helix/api/ClusterReader.java
<https://reviews.apache.org/r/13754/#comment49844>

    Maybe add some basic sanity checks as unit tests. I can help with that too.



helix-core/src/main/java/org/apache/helix/api/ExtView.java
<https://reviews.apache.org/r/13754/#comment49846>

    A thought would be to make ExternalView a collection of CurrentStates. On 
the other hand, maybe this is also OK because it matches the IdealState 
interface.



helix-core/src/main/java/org/apache/helix/api/LeaderController.java
<https://reviews.apache.org/r/13754/#comment49843>

    Please use the code format template.



helix-core/src/main/java/org/apache/helix/api/LiveParticipant.java
<https://reviews.apache.org/r/13754/#comment49847>

    Is a separate object for live participants necessary? It could be a method 
in participant called isLive and then cluster could implement 
getLiveParticipants and filter internally



helix-core/src/main/java/org/apache/helix/api/Model.java
<https://reviews.apache.org/r/13754/#comment49842>

    Is there a particular reason every class should derive from Model? It might 
confuse users. Does it buy us any flexibility?



helix-core/src/main/java/org/apache/helix/api/Msg.java
<https://reviews.apache.org/r/13754/#comment49848>

    Are messages necessary to expose in this API?



helix-core/src/main/java/org/apache/helix/api/Spectator.java
<https://reviews.apache.org/r/13754/#comment49849>

    should this extend RunningInstance?



helix-core/src/main/java/org/apache/helix/api/StateModelDef.java
<https://reviews.apache.org/r/13754/#comment49850>

    what about transitions?


- Kanak Biscuitwala


On Aug. 23, 2013, 12:02 a.m., Zhen Zhang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/13754/
> -----------------------------------------------------------
> 
> (Updated Aug. 23, 2013, 12:02 a.m.)
> 
> 
> Review request for helix, Kanak Biscuitwala, Kishore Gopalakrishna, and Shi 
> Lu.
> 
> 
> Repository: helix-git
> 
> 
> Description
> -------
> 
> Initial change for refactor helix model. Roughly follow the design at: 
> https://cwiki.apache.org/confluence/display/HELIX/API+Redesign
> 
> An example is shown in ClusterReader where using a Cluster instance, we can 
> retrieve any information needed for the rebalancer. The change is incomplete.
> 
> 
> Diffs
> -----
> 
>   helix-core/src/main/java/org/apache/helix/api/Cluster.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/ClusterReader.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/Controller.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/CurState.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/ExtView.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/HelixVersion.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/LeaderController.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/LiveParticipant.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/Model.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/Msg.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/Participant.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/Partition.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/Resource.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/RunningInstance.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/Spectator.java e69de29 
>   helix-core/src/main/java/org/apache/helix/api/StateModelDef.java e69de29 
> 
> Diff: https://reviews.apache.org/r/13754/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Zhen Zhang
> 
>

Reply via email to