[ 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)