You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@helix.apache.org by Sandeep Nayak <os...@gmail.com> on 2014/05/03 08:10:40 UTC

Helix Summary of changes for API redesign work

Hi all,

 Kishore, Jason and I met today to discuss the Helix APIs. The
following tasks are identified

- Commands will remain limited to the model entities i.e. Cluster,
Resource, Member and Partition. All other commands will be collapsed
in the ones for model.

- We need to figure a way to have a generic command built so command
writers can simply update the generic command and we can execute that
command.

- Finders introduced in the HelixClient will leverage HelixQuery
except for cases where its a simple find e.g. findById or findAll
where having the user write a query makes little sense and too much
overhead.

- A package for pipeline stage processors needs to be introduced with
interfaces for Rebalancers, Provisioners and Target Providers. Name of
the package needs to be determined.

- A separate package will be added by the name
"org.apache.helix.api.discovery" to carry ExternalView which will be
renamed to ClusterView in the API

- All model entities will be interfaces (or abstract classes) in API,
all implementations will be in CORE and will implement the specific
interfaces/abstract classes. This will allow backward compatibility.

- In a subsequent release we will deprecate the old CORE apis and
point to the appropriate API interfaces so that users can migrate out
of CORE into API.

- Provider API or SPI will have two separate interface sets (a) to
store configuration and (b) for message bus

- Resources will have specializations called PartitionedResource or
ReplicatedResource. The configuration and runtime-state of these
resource types will be different based on the types.

- ReWrite recipes with the new APIs

Other items to work on

- Documentation to explain the helix actors, how they interact and
play with each other.
- Documentation on some of the core principles of the new API

Kishore and Jason please add if I missed something.

I will keep you guys posted as and when I progress through these items.

Thanks,

Sandeep

Re: Helix Summary of changes for API redesign work

Posted by kishore g <g....@gmail.com>.
Hi Sandeep,

Thanks for the summary. I think you have covered everything.

thanks,
Kishore G


On Fri, May 2, 2014 at 11:10 PM, Sandeep Nayak <os...@gmail.com> wrote:

> Hi all,
>
>  Kishore, Jason and I met today to discuss the Helix APIs. The
> following tasks are identified
>
> - Commands will remain limited to the model entities i.e. Cluster,
> Resource, Member and Partition. All other commands will be collapsed
> in the ones for model.
>
> - We need to figure a way to have a generic command built so command
> writers can simply update the generic command and we can execute that
> command.
>
> - Finders introduced in the HelixClient will leverage HelixQuery
> except for cases where its a simple find e.g. findById or findAll
> where having the user write a query makes little sense and too much
> overhead.
>
> - A package for pipeline stage processors needs to be introduced with
> interfaces for Rebalancers, Provisioners and Target Providers. Name of
> the package needs to be determined.
>
> - A separate package will be added by the name
> "org.apache.helix.api.discovery" to carry ExternalView which will be
> renamed to ClusterView in the API
>
> - All model entities will be interfaces (or abstract classes) in API,
> all implementations will be in CORE and will implement the specific
> interfaces/abstract classes. This will allow backward compatibility.
>
> - In a subsequent release we will deprecate the old CORE apis and
> point to the appropriate API interfaces so that users can migrate out
> of CORE into API.
>
> - Provider API or SPI will have two separate interface sets (a) to
> store configuration and (b) for message bus
>
> - Resources will have specializations called PartitionedResource or
> ReplicatedResource. The configuration and runtime-state of these
> resource types will be different based on the types.
>
> - ReWrite recipes with the new APIs
>
> Other items to work on
>
> - Documentation to explain the helix actors, how they interact and
> play with each other.
> - Documentation on some of the core principles of the new API
>
> Kishore and Jason please add if I missed something.
>
> I will keep you guys posted as and when I progress through these items.
>
> Thanks,
>
> Sandeep
>