[ 
https://issues.apache.org/jira/browse/HELIX-599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16298816#comment-16298816
 ] 

Hudson commented on HELIX-599:
------------------------------

FAILURE: Integrated in Jenkins build helix #1383 (See 
[https://builds.apache.org/job/helix/1383/])
Revert "[HELIX-599] Support creating/maintaining/routing resources with (cji: 
rev 257f2dec2798f3806a97b28243d3f303372a2902)
* (edit) helix-core/src/main/java/org/apache/helix/model/Message.java
* (edit) helix-core/src/main/java/org/apache/helix/model/Resource.java
* (delete) 
helix-core/src/test/java/org/apache/helix/integration/TestResourceGroupEndtoEnd.java
* (edit) 
helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
* (edit) 
helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java
* (edit) 
helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java
* (edit) helix-core/src/main/java/org/apache/helix/model/IdealState.java
* (edit) helix-core/src/main/java/org/apache/helix/tools/ClusterSetup.java
* (edit) helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
* (edit) helix-core/src/main/java/org/apache/helix/model/ExternalView.java
[HELIX-599] Support creating/maintaining/routing resources with same (jxue: rev 
63c4329aa0f3fa3a19a1080e40f0a000a49bcdcf)
* (edit) 
helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
* (edit) 
helix-core/src/main/java/org/apache/helix/spectator/RoutingTableProvider.java
* (edit) helix-core/src/main/java/org/apache/helix/model/IdealState.java
* (edit) helix-core/src/main/java/org/apache/helix/tools/ClusterSetup.java
* (edit) helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java
* (edit) helix-core/src/main/java/org/apache/helix/model/ExternalView.java
* (edit) helix-core/src/main/java/org/apache/helix/model/Message.java
* (edit) helix-core/src/main/java/org/apache/helix/model/Resource.java
* (add) 
helix-core/src/test/java/org/apache/helix/integration/TestResourceGroupEndtoEnd.java
* (edit) 
helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java


> Support creating/maintaining/routing resources with same names in different 
> instance groups
> -------------------------------------------------------------------------------------------
>
>                 Key: HELIX-599
>                 URL: https://issues.apache.org/jira/browse/HELIX-599
>             Project: Apache Helix
>          Issue Type: New Feature
>          Components: helix-core, helix-webapp-admin
>            Reporter: Lei Xia
>            Assignee: Lei Xia
>             Fix For: 0.6.5
>
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> In LinkedIn, we have a new use scenario that there will be multiple databases 
> sitting in the same Helix cluster with the same name, but on different 
> instance groups.  What we need are:
>  1) Allow resources (databases) with the same name, these resources are on 
> different instance groups (with different tags).
>  2) Routing table (Spectator) is able to aggregate and return all instance 
> (from multiple instance groups) that hold the database with given name.
> Our proposed solution is:
>  1) Add a "Resource Group" field in IdealState for the databases with the 
> same names from different instance groups
>  2) Use Instance Group Tag (or new "Resource Tag") to differentiate databases 
> (with same name) from different instance groups.
>  3) Use name mangling for Idealstate, for example, with database TestDB in 
> instance group "testGroup", the IdealState and ExternalView id would be 
> "TestDB$testGroup". 
>  4) Change Helix Routing Table to be able to aggregate databases from the 
> same resource group.
>  
> Four new APIs are going to be added to RoutingTableProvider:
> public class RoutingTableProvider {
>  
> /**
>  * returns the instances that contain the given partition in a specific state 
> from all resources with given resource name
>  */
> public List<InstanceConfig> getInstances(String resource, String partition, 
> String state);
>  
> /**
>  * returns the instances that contain the given partition in a specific state 
> from selected resources with given name and tags
>  */
> public List<InstanceConfig> getInstances(String resource, String partition, 
> String state, List<String> resourceTags);
>  
> /**
>  * returns instances that contain given resource that are in a specific state
>  */
> public Set<InstanceConfig> getInstances(String resource, String state);
>  
> /**
>  * returns instances that contain given resource with tags that are in a 
> specific state
>  */
> public Set<InstanceConfig> getInstances(String resource, String state,  
> List<String> groupTags);
> }



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to