You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by ji...@apache.org on 2020/04/14 21:27:43 UTC
[helix] branch customizeView updated (87d077b -> 46ce1c1)
This is an automated email from the ASF dual-hosted git repository.
jiajunwang pushed a change to branch customizeView
in repository https://gitbox.apache.org/repos/asf/helix.git.
discard 87d077b Move routing table provider initialization (#946)
discard c28bf9f Add registration logic for CustomizedView listeners (#944)
omit 4c530a6 Add cache update/delete in customized view aggregation stage (#934)
omit 3a3c3a9 fix customized state provider (#928)
omit 77110f6 Add integration test to customized view aggregation (#912)
omit e367004 Replace customized view cache with property cache (#869)
omit b7faf39 minor fix for customized view aggregation (#917)
omit 9212571 Add new stages in Helix generic controller for customized view aggregation. (#851)
omit 3f8ebc3 Complete the Routing Table Provider for CustomizedView (#834)
omit 966a4b8 Add two stages for customized state view aggregation. (#888)
omit 897e977 update cache functions for customized view aggregation (#887)
omit db5bbd3 Use updater to update customized state for concurrency control (#859)
omit 11e6ccf rename custmized state aggregation config to customized state config (#885)
omit 384eb69 Add intermediate storage for customized state (#827)
omit d23b54a Improve CustomizedStateProvider tests (#840)
omit 87aec1a add listener and config for customized view aggregation (#815)
omit 268987d Add basic functionalities for RoutingTableProvider for CustomizedView (#814)
omit 106b069 Implement Helix API for updating customized state (#729)
omit bdd66cc Add REST API to add, remove and update CustomizedStateAggregationConfig (#797)
omit dc25323 Add java API to add or remove CustomizedStateAggregationConfig (#792)
omit f80d76e add CustomizedStateAggregation config (#776)
omit 5c25149 Add the CustomizedView Helix property (#723)
add bee3ed2 Merge Waged rebalancer branch code to master. (#724)
add 2676f13 Revert "Merge Waged rebalancer branch code to master. (#724)"
add aed6d7e Define the WAGED rebalancer interfaces.
add 786d238 Adding the configuration items of the WAGED rebalancer. (#348)
add 253851a Implement the WAGED rebalancer cluster model (#362)
add 41aee1b Change the rebalancer assignment record to be ResourceAssignment instead of IdealState. (#398)
add d4d4941 Convert all the internal assignment state objects to be ResourceAssignment. (#399)
add 28b65aa Implement Cluster Model Provider. (#392)
add f93aeb5 Add cluster level default instance config. (#413)
add 4372acf Add ChangeDetector interface and ResourceChangeDetector implementation (#388)
add bc6d6f0 Redefine the hard/soft constraints (#422)
add 73e8336 Refine the WAGED rebalancer related interfaces for integration (#431)
add 3995879 Revert "Refine the WAGED rebalancer related interfaces for integration (#431)" (#437)
add b273df4 Resubmit the change: Refine the WAGED rebalancer related interfaces for integration (#431)
add 8cbfdce Modify the expected change type from CONFIG to CLUSTER_CONFIG in the WAGED rebalancer. (#438)
add ff82c34 Add special treatment for ClusterConfig
add 27630a9 Record the replica objects in the AssignableNode in addition to the partition name (#440)
add eb437c9 Add BucketDataAccessor for large writes
add cf8520a Implement the basic constraint based algorithm (#381)
add 0895c0d Validate the instance capacity/partition weight configuration while constructing the assignable instances (#451)
add 34a2cf8 Implement the WAGED rebalancer with the limited functionality. (#443)
add dd80b9e HardConstraints Implementation and unit tests (#433)
add a4010e2 Implement AssignmentMetadataStore (#453)
add 63b45ff Fix TestWagedRebalancer and add constructor in AssignmentMetadataStore
add cf7b7a5 Implement one of the soft constraints (#450)
add e49d26b Add soft constraint: ResourcetopStateAntiAffinityConstraint (#465)
add 536062d Implement MaxCapacityUsageInstanceConstraint soft constraint (#463)
add a07296a Add soft constraint: ResourcePartitionAntiAffinityConstraint (#464)
add de800d7 Improve ResourceTopStateAntiAffinityConstraint (#475)
add 7a34f2c Adjust the expected replica count according to fault zone count. (#476)
add d2ffd00 PartitionMovementSoftConstraint Implementation (#474)
add dcc4862 Add the remaining implementation of ConstraintBasedAlgorithmFactory (#478)
add 3e0554b Integrate the WAGED rebalancer with all the related components. (#466)
add 7bb7f57 Separate AssignableNode properties by Immutable and Mutable (#485)
add 71948ec Add delayed rebalance and user-defined preference list features to the WAGED rebalancer. (#456)
add 95a55d6 Enable maintenance mode for the WAGED rebalancer.
add 43a9bce Adjust the topology processing logic for instance to ensure backward compatibility.
add 081b3f2 Load soft constraint weight from resources/properties file (#492)
add 359d6de Add latency metric components for WAGED rebalancer (#490)
add b287fb5 Fixing rebalance cache issue and stablize the tests. (#510)
add a318890 More strict partition weight validation while creating the cluster model. (#511)
add 08bc164 Increase parallelism for ZkBucketDataAccessor (#506)
add bc2d0cf The WAGED rebalancer returns the previously calculated assignment on calculation failure (#514)
add 2d1e8cf Make log clearer after finishing calculateAssignment. (#531)
add 285318a Implement monitoring mbeans for the WAGED rebalancer. (#525)
add afb19a1 Refine the rebalance scope calculating logic in the WAGED rebalancer. (#519)
add b63a895 Make WagedRebalancer static by creating a ThreadLocal (#540)
add f48f4d2 Change change detector to a regular field in the WAGED rebalancer instead of static threadlocal. (#543)
add 3f237df Refactor soft constraints to simply the algorithm and fix potential issues. (#520)
add cd3de5a Minor fix for the constraints related tests. (#545)
add dcda863 Adjust the replica rebalance calculating ordering to avoid static order. (#535)
add e27c6fa Implement increment() method in CountMetric class. (#537)
add f7df84c Modify the ivy file to add the new math3 lib dependency. (#546)
add 6e37673 Fix a missing parameter when the WAGED rebalancer init the change detector. (#547)
add 76e0fc0 Add the new Rebalancer monitor domain to the active domain list. (#550)
add dc40825 Refine ivy file config. The org were not configured correctly. (#551)
add e5e3689 Use a deep copy of the new best possible assignment for measuring baseline divergence. (#542)
add 2b3f9fa Add max capacity usage metric for instance monitor. (#548)
add c2b7ac7 Fix formula incorrection in the comment for measuring baseline divergence. (#559)
add ae22186 Avoid redundant writes in AssignmentMetadataStore (#564)
add 5691d3a Filter resource map with ideal states for instance capacity metrics. (#574)
add 0b1b337 Introduce Dry-run Waged Rebalancer for the verifiers and tests. (#573)
add e93e050 Change ClusterConfig.setDefaultCapacityMap to be private. (#590)
add 8a8478a Add Java API for adding and validating resources for WAGED rebalancer (#570)
add edc8a86 Change calculation for baseline divergence. (#598)
add 435360f Improve the WAGED rebalancer performance. (#586)
add f4b67ae Fix the unstable test TestZeroReplicaAvoidance. (#603)
add 37fd496 Add REST API endpoints for WAGED Rebalancer (#611)
add 6dbc725 Fix a potential issue in the ResourceChangeSnapshot. (#635)
add 4c48d02 Simply and enhance the RebalanceLatencyGauge so it can be used in multi-threads. (#636)
add 30695f0 Add new WAGED rebalancer config item "GLOBAL_REBALANCE_ASYNC_MODE". (#637)
add a2771cb Decouple the event type and the scheduled rebalance cache refresh option. (#638)
add 75904ef Improve the algorithm so it prioritizes the assignment to the idle nodes when the constraint evaluation results are the same (#651)
add 39f3959 Refine the WAGED rebalancer to minimize the partial rebalance workload. (#639)
add adfaf4e Refine methods name and comments. (#664)
add 6b73653 Asynchronously calculating the Baseline (#632)
add fe4ecb8 Reorgnize the test case so the new WAGED expand cluster tests are not skipped. (#670)
add a1557df Fix the Helix rest tests by cleaning up the environment before testing. (#679)
add feb2562 Add instance capacity gauge (#557)
add eb40e15 Add resource partition weight gauge (#686)
add 71c79fd Add WAGED rebalancer reset method to clean up cached status. (#696)
add ec3568d Reset the WAGED rebalancer once the controller newly acquires leadership. (#690)
add 85f246a Fix the watcher leakage issue (#688)
add 637e943 Fix the unstable test TestWagedRebalance.testRebalancerReset. (#735)
add 2ba469d Change the WAGED rebalancer missing error log to warning. (#740)
add b227b3b Add metrics-common, zookeeper-api, helix-common modules (#684)
add afc62ab Fix the flaky test (#749)
add 12f11a3 Fix ConcurrentModification exception in Workflow Garbage Collection (#741)
add 19811ea Remove workflow garbage collection (#803)
add 98a4be3 Fix the ConcurrentModificationException in ClusterEvent.java (#785)
add 0f3c64b Add system property options to config write size limit for ZNRecord Serializer (#809)
add 496d573 Async write operation should not throw Exception for serializing error (#845)
add 1747ac0 Fix type cast in TestRawZkClient (#853)
add 89dfe91 Add logs and throw exceptions in getInstanceById (#858)
add 3e264f0 Downgrade the log level to INFO when isInstanceSetup() fails. (#870)
add fcf78cd Generate cancellation message for currentState=null desiredState=DROPPED (#831)
add 5de66f2 Update bump-up.command with metrics-common
add 5dd01c0 Fix testInstancesStoppable_zoneBased (#880)
add 26da7bf Change helix-core's ivy import for commons-math3
add e5c2a23 Migrate the IdealState usage to read Resource Config for the delayed rebalance. (#878)
add 1651f9e Standardize the logging message format in ClusterAccessor and ConfigAccessor (#886)
add ecae243 Add REST APIs for get, set, update RestConfig (#849)
add c966784 Remove possible score-tie between two AssignableNodes (#889)
add f96a3c4 Support enableCompression in workflow and job configs (#883)
add d109c64 Fix the concurrent modification error happens during the HelixManager initHandlers() call (#904)
add 5e529ad Fix TestZNRecordSerializeWriteSizeLimit (#911)
add 4355430 Refresh live instance while fetching the current state information in the RoutingTableProvider. (#920)
add 184a50a Fix the scheduling decision for multiple currentStates (#923)
add ba0f4e5 Add CloudConfig code
add 64ca238 add Helix cloud interface and implementation skeleton methods
add 9f6cc4b Add java API to create cluster with CloudConfig
add 3bbeb31 Add REST API for Cluster Creation with CloudConfig (#675)
add 5dac1cc Add Helix properties factory and class (#653)
add 079483b Implement Azure cloud instance information processor (#698)
add c2f0dc3 Modify participant manager to add cluster auto registration logic (#695)
add a32f387 add one more test for auto registration (#806)
add 912e794 Change the cluster creation logic (#872)
add 7f640e4 Add construction of domain in Helix participant logic (#876)
add ab3c4da Change the REST call for delete CloudConfig (#882)
add ec2f3d9 Add REST and JAVA API to modify existing cloudconfig (#898)
add c2f3c08 Fix ClusterAccessor::createCluster wrt CloudConfig (#937)
add adebe17 Add MetadataStoreRoutingData interface and TrieRoutingData class to helix-rest
add 1323b25 Enable two test runs with multiZk system property (#710)
add 2eaf882 Upgrade AbstractTestClass with multi-ZK support in helix-rest (#717)
add c967c7c Upgrade ZkTestBase with multi-ZK support in helix-core (#712)
add d5a042d Add MockMetadataStoreDirectoryServer (#719)
add a4edbd2 Add MetadataStoreRoutingDataReader interface and ZkRoutingDataReader class to helix-rest (#714)
add 08949f8 Add MetadataStoreDirectory and ZkMetadataStoreDirectory (#720)
add 15cc55e Add TrieRoutingData constructor (#731)
add 661729b Add MetadataStoreRoutingDataWriter with DistributedLeaderElection (#727)
add c6504f3 Add REST read endpoints to Helix Rest to provide resource access to metadata store directory (#744)
add 527c215 Rebase ZooScalability from upstream master
add ab4f41e Implement getAllMappingUnderPath and getMetadataStoreRealm in ZkMetadataStoreDirectory
add e960917 Add write REST endpoints to helix rest for metadata store directory (#757)
add 7512cfd Add RealmAwareZkClient and RealmAwareZkClientFactory interfaces (#745)
add c990679 Add validation logic to MSD write operations (#759)
add 01ae06a Create metadata-store-directory-common module (#771)
add 6e4f27d Fix tests in apache/zooscalability and rebase from apache/master (#787)
add 642ee20 Add DedicatedZkClient and update DedicatedZkClientFactory (#765)
add df6453e Add REST read endpoints to helix-rest for metadata store directory (#761)
add 65afec0 [helix-rest] Add endpoint to get namespace routing data (#799)
add 6f9c5c9 Add HttpRoutingDataReader (#775)
add f180cc9 Add getShardingKeyInPath to MetadataStoreRoutingData (#817)
add 3af4c1f Implement request forwarding for ZkRoutingDataWriter (#788)
add 6b2a6ff Fix InvalidRoutingData error message in tests (#821)
add fbddb11 Update bump-up.command and ivy imports (#824)
add 0980063 Add SharedZkClient/InnerSharedZkClient implementation (#796)
add c9a9b7e Improve MetadataStoreDirectoryAccessor endpoints and fix bugs in ZkRoutingDataReader/Writer
add add11db Make MSDS endpoint configurable for HttpRoutingDataReader (#836)
add f645496 Add FederatedZkClient (#789)
add 7d46f2a Make ConfigAccessor and ZkUtil realm-aware (#838)
add 1f0d278 Implement setRoutingData for MetadataStoreDirectoryService (#844)
add c7ab0f2 Make RealmAwareZkClient implementations use HttpRoutingDataReader for routing data (#819)
add 45f0989 Instrument ConfigAccessor's constructors (#856)
add b01e804 Add rerunFailingTestsCount config to surefire-plugin (#865)
add 7b57e9e Make ClusterSetup realm-aware (#861)
add 92aa631 Make ZkCacheBaseDataAccessor and ZkHelixPropertyStore realm-aware (#863)
add 6e6862b Make ZkHelixClusterVerifier and its child classes realm-aware (#867)
add 73ccbc9 Make ZkBaseDataAccessor realm-aware (#855)
add 289085f Make ZKHelixAdmin and ZKHelixManager Realm-aware (#846)
add 56ebbd1 Reformat ZkBaseDataAccessor (#893)
add ef027a9 Update listClusters() in ZkHelixAdmin (#895)
add 7184988 Make ZkBucketDataAccessor realm-aware (#894)
add f90b194 Make ZkUtil realm-aware (#896)
add 8523baa Add integration tests for Helix Java APIs (#892)
add b16ac22 Fix setRoutingData boolean handling; fix leader forwarding url construction (#902)
add e3f751c Use Java Generics and inheritance to reduce duplicate code in Helix API Builders (#899)
add 2d310f3 Make Helix REST realm-aware (#908)
add b7f6f3c Make multiZkEnabled configurable in HelixRestNamespace (#915)
add e303ef2 Fix getClusters() in ZKHelixAdmin for multi-zk mode (#916)
add 9381a80 Fix MetadataStoreDirectory routing data cache refresh bug (#933)
add 66c9964 Fix flaky resource accessor tests (#935)
add 2e9ac43 Change thread pool used for TTL-based GC in ZkBucketDataAccessor (#945)
add b8f22fd Add integration test for Helix Java APIs using different MSDS endpoints (#948)
add 4dcf624 Fix TestCrushAutoRebalanceNonRack failure of dropping instance
add 4e57f27 Simplify logging
add b155c07 Add the CustomizedView Helix property (#723)
add 50c2644 add CustomizedStateAggregation config (#776)
add 7c75071 Add java API to add or remove CustomizedStateAggregationConfig (#792)
add 0c0c9d9 Add REST API to add, remove and update CustomizedStateAggregationConfig (#797)
add 56d9caa Implement Helix API for updating customized state (#729)
add 710c2f8 Add basic functionalities for RoutingTableProvider for CustomizedView (#814)
add 5db0f75 add listener and config for customized view aggregation (#815)
add 2c781ab Improve CustomizedStateProvider tests (#840)
add 5e08af6 Add intermediate storage for customized state (#827)
add 28d268b rename custmized state aggregation config to customized state config (#885)
add 2c36c45 Use updater to update customized state for concurrency control (#859)
add 6163b6e update cache functions for customized view aggregation (#887)
add a263c43 Add two stages for customized state view aggregation. (#888)
add 95ac14e Complete the Routing Table Provider for CustomizedView (#834)
add 9df8428 Add new stages in Helix generic controller for customized view aggregation. (#851)
add d9c63eb minor fix for customized view aggregation (#917)
add a6c197d Replace customized view cache with property cache (#869)
add 526b9ba Add integration test to customized view aggregation (#912)
add 9d89e71 fix customized state provider (#928)
add 2bbb547 Add cache update/delete in customized view aggregation stage (#934)
add b864e04 Add registration logic for CustomizedView listeners (#944)
add 82f5e5c Move routing table provider initialization (#946)
add 46ce1c1 use new ZNRecord and update test
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (87d077b)
\
N -- N -- N refs/heads/customizeView (46ce1c1)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
bump-up.command | 71 +
helix-admin-webapp/pom.xml | 3 +
.../org/apache/helix/webapp/HelixAdminWebApp.java | 2 +-
.../resources/ClusterRepresentationUtil.java | 4 +-
.../helix/webapp/resources/ClusterResource.java | 4 +-
.../helix/webapp/resources/ClustersResource.java | 4 +-
.../helix/webapp/resources/ConfigResource.java | 4 +-
.../helix/webapp/resources/ConstraintResource.java | 4 +-
.../helix/webapp/resources/ControllerResource.java | 4 +-
.../resources/ControllerStatusUpdateResource.java | 2 +-
.../webapp/resources/CurrentStateResource.java | 2 +-
.../webapp/resources/CurrentStatesResource.java | 2 +-
.../helix/webapp/resources/ErrorResource.java | 2 +-
.../helix/webapp/resources/ErrorsResource.java | 2 +-
.../webapp/resources/ExternalViewResource.java | 2 +-
.../helix/webapp/resources/IdealStateResource.java | 4 +-
.../helix/webapp/resources/InstanceResource.java | 2 +-
.../helix/webapp/resources/InstancesResource.java | 4 +-
.../helix/webapp/resources/JobQueueResource.java | 4 +-
.../helix/webapp/resources/JobQueuesResource.java | 4 +-
.../apache/helix/webapp/resources/JobResource.java | 4 +-
.../helix/webapp/resources/JsonParameters.java | 2 +-
.../webapp/resources/ResourceGroupResource.java | 2 +-
.../webapp/resources/ResourceGroupsResource.java | 4 +-
.../helix/webapp/resources/ResourceUtil.java | 2 +-
.../webapp/resources/SchedulerTasksResource.java | 2 +-
.../helix/webapp/resources/StateModelResource.java | 4 +-
.../webapp/resources/StateModelsResource.java | 4 +-
.../webapp/resources/StatusUpdateResource.java | 2 +-
.../webapp/resources/StatusUpdatesResource.java | 2 +-
.../helix/webapp/resources/WorkflowsResource.java | 4 +-
.../helix/webapp/resources/ZkChildResource.java | 4 +-
.../helix/webapp/resources/ZkPathResource.java | 4 +-
.../org/apache/helix/webapp/AdminTestBase.java | 4 +-
.../org/apache/helix/webapp/AdminTestHelper.java | 2 +-
.../helix/webapp/TestClusterManagementWebapp.java | 2 +-
.../apache/helix/webapp/TestDisableResource.java | 2 +-
.../helix/webapp/TestHelixAdminScenariosRest.java | 2 +-
.../helix/webapp/TestResetPartitionState.java | 2 +-
.../webapp/resources/TestJobQueuesResource.java | 2 +-
helix-common/LICENSE | 270 +++
helix-common/NOTICE | 37 +
.../helix-common-0.9.2-SNAPSHOT.ivy | 37 +-
{helix-admin-webapp => helix-common}/pom.xml | 78 +-
helix-common/src/assemble/assembly.xml | 60 +
.../main/java/org/apache/helix/HelixException.java | 0
.../java/org/apache/helix/SystemPropertyKeys.java | 81 +
.../src/main/java/org/apache/helix/ZNRecord.java | 30 +-
.../main/java/org/apache/helix/ZNRecordDelta.java | 11 +-
.../zk/serializer/JacksonPayloadSerializer.java | 15 +-
.../manager/zk/serializer/PayloadSerializer.java | 15 +-
helix-common/src/test/conf/testng.xml | 27 +
.../src/test/resources/log4j.properties | 0
helix-core/helix-core-0.9.2-SNAPSHOT.ivy | 2 +-
helix-core/pom.xml | 23 +-
.../java/org/apache/helix/BaseDataAccessor.java | 6 +-
...edZkSerializer.java => BucketDataAccessor.java} | 37 +-
.../main/java/org/apache/helix/ConfigAccessor.java | 225 +-
.../main/java/org/apache/helix/GroupCommit.java | 14 +-
.../src/main/java/org/apache/helix/HelixAdmin.java | 62 +-
.../java/org/apache/helix/HelixCloudProperty.java | 183 ++
.../java/org/apache/helix/HelixDataAccessor.java | 11 +-
.../main/java/org/apache/helix/HelixManager.java | 2 +
.../java/org/apache/helix/HelixManagerFactory.java | 2 +-
.../org/apache/helix/HelixManagerProperty.java | 74 +
.../main/java/org/apache/helix/HelixProperty.java | 20 +-
.../org/apache/helix/HelixPropertyFactory.java | 79 +
...Exception.java => HelixRebalanceException.java} | 29 +-
.../main/java/org/apache/helix/InstanceType.java | 6 +-
.../org/apache/helix/LiveInstanceInfoProvider.java | 3 +
.../main/java/org/apache/helix/PropertyKey.java | 11 +
.../java/org/apache/helix/SystemPropertyKeys.java | 41 -
.../java/org/apache/helix/ZNRecordAssembler.java | 29 +-
.../java/org/apache/helix/ZNRecordBucketizer.java | 97 +-
.../java/org/apache/helix/ZNRecordUpdater.java | 20 +-
.../cloud/CloudInstanceInformation.java} | 31 +-
.../cloud/CloudInstanceInformationProcessor.java} | 27 +-
.../apache/helix/api/config/RebalanceConfig.java | 2 +-
.../api/config/StateTransitionTimeoutConfig.java | 2 +-
.../org/apache/helix/api/listeners/PreFetch.java | 5 +-
.../cloud/azure/AzureCloudInstanceInformation.java | 72 +
.../AzureCloudInstanceInformationProcessor.java | 160 ++
.../apache/helix/cloud/azure/AzureConstants.java | 6 +
.../constants/CloudProvider.java} | 7 +-
.../apache/helix/common/DedupEventProcessor.java | 2 +-
.../apache/helix/common/caches/TaskDataCache.java | 2 +-
.../helix/controller/ExternalViewGenerator.java | 2 +-
.../helix/controller/GenericHelixController.java | 129 +-
.../helix/controller/HelixControllerMain.java | 2 +-
.../helix/controller/HierarchicalDataHolder.java | 2 +-
.../controller/changedetector/ChangeDetector.java | 57 +
.../changedetector/ResourceChangeDetector.java | 199 ++
.../changedetector/ResourceChangeSnapshot.java | 157 ++
.../ResourceControllerDataProvider.java | 35 +-
.../WorkflowControllerDataProvider.java | 2 +-
.../controller/rebalancer/AbstractRebalancer.java | 2 +-
.../controller/rebalancer/AutoRebalancer.java | 2 +-
.../rebalancer/DelayedAutoRebalancer.java | 206 +-
.../controller/rebalancer/StatefulRebalancer.java | 37 +
.../dataprovider/ZkBasedCapacityProvider.java | 2 +-
.../ZkBasedPartitionWeightProvider.java | 2 +-
.../AbstractEvenDistributionRebalanceStrategy.java | 2 +-
.../rebalancer/strategy/AutoRebalanceStrategy.java | 2 +-
.../strategy/ConstraintRebalanceStrategy.java | 2 +-
.../strategy/CrushRebalanceStrategy.java | 2 +-
.../strategy/MultiRoundCrushRebalanceStrategy.java | 2 +-
.../rebalancer/strategy/RebalanceStrategy.java | 2 +-
.../rebalancer/util/DelayedRebalanceUtil.java | 282 +++
.../rebalancer/util/ResourceUsageCalculator.java | 192 ++
.../rebalancer/util/WagedValidationUtil.java | 91 +
.../rebalancer/waged/AssignmentMetadataStore.java | 212 ++
.../rebalancer/waged/RebalanceAlgorithm.java | 43 +
.../rebalancer/waged/WagedRebalancer.java | 788 +++++++
.../constraints/ConstraintBasedAlgorithm.java | 230 +++
.../ConstraintBasedAlgorithmFactory.java | 82 +
.../constraints/FaultZoneAwareConstraint.java} | 25 +-
.../waged/constraints/HardConstraint.java | 47 +
.../InstancePartitionsCountConstraint.java | 41 +
.../MaxCapacityUsageInstanceConstraint.java | 42 +
.../waged/constraints/NodeCapacityConstraint.java | 50 +
.../NodeMaxPartitionLimitConstraint.java | 43 +
.../constraints/PartitionMovementConstraint.java | 96 +
.../constraints/ReplicaActivateConstraint.java} | 23 +-
.../ResourcePartitionAntiAffinityConstraint.java | 43 +
.../ResourceTopStateAntiAffinityConstraint.java | 44 +
.../SamePartitionOnInstanceConstraint.java} | 24 +-
.../waged/constraints/SoftConstraint.java | 90 +
.../waged/constraints/UsageSoftConstraint.java | 85 +
.../constraints/ValidGroupTagConstraint.java} | 28 +-
.../rebalancer/waged/model/AssignableNode.java | 374 ++++
.../rebalancer/waged/model/AssignableReplica.java | 161 ++
.../rebalancer/waged/model/ClusterContext.java | 172 ++
.../rebalancer/waged/model/ClusterModel.java | 132 ++
.../waged/model/ClusterModelProvider.java | 507 +++++
.../rebalancer/waged/model/OptimalAssignment.java | 93 +
.../helix/controller/stages/AttributeName.java | 3 +-
.../stages/BestPossibleStateCalcStage.java | 180 +-
.../helix/controller/stages/ClusterDataCache.java | 2 +-
.../helix/controller/stages/ClusterEvent.java | 6 +-
.../stages/CurrentStateComputationStage.java | 75 +
.../controller/stages/CurrentStateOutput.java | 23 +
.../stages/ExternalViewComputeStage.java | 7 +-
.../controller/stages/MessageGenerationPhase.java | 145 +-
.../controller/stages/PersistAssignmentStage.java | 4 +-
.../stages/TaskGarbageCollectionStage.java | 1 -
.../controller/strategy/AutoRebalanceStrategy.java | 2 +-
.../customizedstate/CustomizedStateProvider.java | 5 +-
.../org/apache/helix/examples/ExampleHelper.java | 8 +-
.../helix/examples/IdealStateBuilderExample.java | 5 +-
.../apache/helix/examples/IdealStateExample.java | 5 +-
.../java/org/apache/helix/examples/Quickstart.java | 7 +-
.../examples/WeightAwareRebalanceUtilExample.java | 22 +-
.../ParticipantHealthReportCollector.java | 2 +-
.../ParticipantHealthReportCollectorImpl.java | 2 +-
.../apache/helix/manager/zk/BasicZkSerializer.java | 26 +-
.../helix/manager/zk/ByteArraySerializer.java | 5 +-
.../apache/helix/manager/zk/CallbackHandler.java | 17 +-
.../helix/manager/zk/ChainedPathZkSerializer.java | 5 +-
.../helix/manager/zk/ControllerManagerHelper.java | 2 +-
.../helix/manager/zk/CurStateCarryOverUpdater.java | 4 +-
.../zk/DefaultSchedulerMessageHandlerFactory.java | 2 +-
.../manager/zk/DistributedLeaderElection.java | 2 +-
.../manager/zk/GenericBaseDataAccessorBuilder.java | 145 ++
.../helix/manager/zk/GenericZkHelixApiBuilder.java | 139 ++
.../apache/helix/manager/zk/HelixGroupCommit.java | 6 +-
.../helix/manager/zk/ParticipantManager.java | 127 +-
.../helix/manager/zk/PathBasedZkSerializer.java | 28 +-
.../apache/helix/manager/zk/WriteThroughCache.java | 2 +-
.../helix/manager/zk/ZKExceptionHandler.java | 2 +-
.../org/apache/helix/manager/zk/ZKHelixAdmin.java | 518 ++++-
.../helix/manager/zk/ZKHelixDataAccessor.java | 12 +-
.../apache/helix/manager/zk/ZKHelixManager.java | 149 +-
.../java/org/apache/helix/manager/zk/ZKUtil.java | 113 +-
...ializer.java => ZNRecordJacksonSerializer.java} | 22 +-
.../helix/manager/zk/ZNRecordSerializer.java | 116 +-
.../manager/zk/ZNRecordStreamingSerializer.java | 293 +--
.../apache/helix/manager/zk/ZkAsyncCallbacks.java | 176 +-
.../helix/manager/zk/ZkBaseDataAccessor.java | 489 +++--
.../helix/manager/zk/ZkBucketDataAccessor.java | 401 ++++
.../helix/manager/zk/ZkCacheBaseDataAccessor.java | 122 +-
.../helix/manager/zk/ZkCacheEventThread.java | 2 +-
.../apache/helix/manager/zk/ZkCallbackCache.java | 6 +-
.../java/org/apache/helix/manager/zk/ZkClient.java | 15 +-
.../manager/zk/ZkSessionMismatchedException.java | 18 -
.../zk/client/DedicatedZkClientFactory.java | 50 +-
.../helix/manager/zk/client/HelixZkClient.java | 441 +---
.../manager/zk/client/HelixZkClientFactory.java | 46 -
.../helix/manager/zk/client/SharedZkClient.java | 111 +-
.../manager/zk/client/SharedZkClientFactory.java | 102 +-
.../manager/zk/client/ZkConnectionManager.java | 120 +-
.../manager/zk/zookeeper/IZkStateListener.java | 43 +-
.../helix/manager/zk/zookeeper/ZkClient.java | 2145 +-------------------
.../helix/manager/zk/zookeeper/ZkConnection.java | 174 +-
.../org/apache/helix/messaging/ZNRecordRow.java | 2 +-
.../handling/HelixStateTransitionHandler.java | 8 +-
.../java/org/apache/helix/model/AlertHistory.java | 2 +-
.../java/org/apache/helix/model/AlertStatus.java | 2 +-
.../main/java/org/apache/helix/model/Alerts.java | 2 +-
.../java/org/apache/helix/model/CloudConfig.java | 265 +++
.../java/org/apache/helix/model/ClusterConfig.java | 230 ++-
.../org/apache/helix/model/ClusterConstraints.java | 2 +-
.../org/apache/helix/model/ControllerHistory.java | 2 +-
.../java/org/apache/helix/model/CurrentState.java | 2 +-
.../org/apache/helix/model/CustomizedState.java | 2 +-
.../apache/helix/model/CustomizedStateConfig.java | 4 +-
.../org/apache/helix/model/CustomizedView.java | 3 +-
.../main/java/org/apache/helix/model/Error.java | 2 +-
.../java/org/apache/helix/model/ExternalView.java | 2 +-
.../java/org/apache/helix/model/HealthStat.java | 2 +-
.../org/apache/helix/model/HelixConfigScope.java | 7 +
.../java/org/apache/helix/model/IdealState.java | 2 +-
.../org/apache/helix/model/InstanceConfig.java | 54 +-
.../org/apache/helix/model/LeaderStandbySMD.java | 2 +-
.../java/org/apache/helix/model/LiveInstance.java | 2 +-
.../org/apache/helix/model/MaintenanceSignal.java | 2 +-
.../org/apache/helix/model/MasterSlaveSMD.java | 2 +-
.../main/java/org/apache/helix/model/Message.java | 2 +-
.../org/apache/helix/model/OnlineOfflineSMD.java | 2 +-
.../org/apache/helix/model/ParticipantHistory.java | 2 +-
.../java/org/apache/helix/model/PauseSignal.java | 2 +-
.../org/apache/helix/model/PersistentStats.java | 2 +-
.../java/org/apache/helix/model/RESTConfig.java | 2 +-
.../org/apache/helix/model/ResourceAssignment.java | 2 +-
.../org/apache/helix/model/ResourceConfig.java | 199 +-
.../org/apache/helix/model/ScheduledTaskSMD.java | 2 +-
.../apache/helix/model/StateModelDefinition.java | 7 +-
.../java/org/apache/helix/model/StatusUpdate.java | 2 +-
.../org/apache/helix/model/StorageSchemataSMD.java | 2 +-
.../main/java/org/apache/helix/model/TaskSMD.java | 2 +-
.../model/builder/HelixConfigScopeBuilder.java | 4 +
.../helix/model/builder/IdealStateBuilder.java | 2 +-
.../helix/monitoring/ZKPathDataDumpTask.java | 2 +-
.../monitoring/mbeans/ClusterStatusMonitor.java | 92 +-
.../helix/monitoring/mbeans/InstanceMonitor.java | 192 +-
.../monitoring/mbeans/InstanceMonitorMBean.java | 51 -
.../monitoring/mbeans/MonitorDomainNames.java | 3 +-
.../helix/monitoring/mbeans/ResourceMonitor.java | 99 +-
.../helix/monitoring/mbeans/ZkClientMonitor.java | 231 +--
.../monitoring/mbeans/ZkClientPathMonitor.java | 228 +--
.../mbeans/dynamicMBeans/DynamicMBeanProvider.java | 78 +-
.../mbeans/dynamicMBeans/SimpleDynamicMetric.java | 2 +-
.../helix/monitoring/metrics/MetricCollector.java | 99 +
.../metrics/WagedRebalancerMetricCollector.java | 125 ++
.../implementation/BaselineDivergenceGauge.java | 68 +
.../metrics/implementation/RebalanceCounter.java} | 21 +-
.../implementation/RebalanceFailureCount.java} | 23 +-
.../implementation/RebalanceLatencyGauge.java | 89 +
.../monitoring/metrics/model/CountMetric.java | 69 +
.../monitoring/metrics/model/LatencyMetric.java | 67 +
.../metrics/model/Metric.java} | 36 +-
.../model/RatioMetric.java} | 46 +-
.../helix/participant/HelixCustomCodeRunner.java | 26 +-
.../statemachine/ScheduledTaskStateModel.java | 2 +-
.../apache/helix/spectator/RoutingDataCache.java | 11 +
.../apache/helix/store/PropertyJsonSerializer.java | 2 +-
.../apache/helix/store/ZNRecordJsonSerializer.java | 2 +-
.../helix/store/zk/AutoFallbackPropertyStore.java | 2 +-
.../helix/store/zk/ZkHelixPropertyStore.java | 3 +-
.../apache/helix/task/AbstractTaskDispatcher.java | 11 +-
.../helix/task/DeprecatedTaskRebalancer.java | 4 +-
.../main/java/org/apache/helix/task/JobConfig.java | 22 +-
.../java/org/apache/helix/task/JobContext.java | 2 +-
.../java/org/apache/helix/task/JobDispatcher.java | 2 +-
.../java/org/apache/helix/task/TaskConstants.java | 2 +-
.../java/org/apache/helix/task/TaskDriver.java | 12 +-
.../main/java/org/apache/helix/task/TaskUtil.java | 47 +-
.../java/org/apache/helix/task/WorkflowConfig.java | 13 +
.../org/apache/helix/task/WorkflowContext.java | 2 +-
.../org/apache/helix/task/WorkflowDispatcher.java | 2 +-
.../java/org/apache/helix/task/beans/JobBean.java | 1 +
.../org/apache/helix/task/beans/WorkflowBean.java | 2 +
.../helix/tools/ClusterExternalViewVerifier.java | 2 +-
.../helix/tools/ClusterLiveNodesVerifier.java | 2 +-
.../java/org/apache/helix/tools/ClusterSetup.java | 101 +-
.../apache/helix/tools/ClusterStateVerifier.java | 14 +-
.../org/apache/helix/tools/ClusterVerifier.java | 8 +-
.../BestPossibleExternalViewVerifier.java | 151 +-
.../ClusterVerifiers/ClusterLiveNodesVerifier.java | 32 +-
.../StrictMatchExternalViewVerifier.java | 107 +-
.../ClusterVerifiers/ZkHelixClusterVerifier.java | 140 +-
.../helix/tools/DefaultIdealStateCalculator.java | 2 +-
.../tools/IdealCalculatorByConsistentHashing.java | 2 +-
.../helix/tools/IdealStateCalculatorByRush.java | 2 +-
.../tools/IdealStateCalculatorByShuffling.java | 2 +-
.../java/org/apache/helix/tools/MessagePoster.java | 6 +-
.../helix/tools/StateModelConfigGenerator.java | 2 +-
.../java/org/apache/helix/tools/TestExecutor.java | 10 +-
.../java/org/apache/helix/tools/TestTrigger.java | 2 +-
.../java/org/apache/helix/tools/ZnodeOpArg.java | 2 +-
.../java/org/apache/helix/tools/ZnodeValue.java | 2 +-
.../tools/commandtools/CurrentStateCleanUp.java | 4 +-
.../tools/commandtools/IntegrationTestUtil.java | 6 +-
.../helix/tools/commandtools/LocalZKServer.java | 7 +-
.../apache/helix/tools/commandtools/ZKDumper.java | 7 +-
.../apache/helix/tools/commandtools/ZkCopy.java | 4 +-
.../tools/commandtools/ZkLogCSVFormatter.java | 2 +-
.../helix/util/ExponentialBackoffStrategy.java | 52 +-
.../org/apache/helix/util/GZipCompressionUtil.java | 56 +-
.../main/java/org/apache/helix/util/HelixUtil.java | 44 +-
.../apache/helix/util/InstanceValidationUtil.java | 29 +-
.../java/org/apache/helix/util/RebalanceUtil.java | 7 +-
.../org/apache/helix/util/StatusUpdateUtil.java | 2 +-
.../helix/util/WeightAwareRebalanceUtil.java | 2 +-
.../java/org/apache/helix/util/ZKClientPool.java | 2 +-
.../java/org/apache/helix/util/ZNRecordUtil.java | 5 +-
.../src/main/resources/azure-cloud.properties | 25 +
.../src/main/resources/helix-manager.properties | 24 +
.../resources/soft-constraint-weight.properties | 26 +
.../test/java/org/apache/helix/MockAccessor.java | 37 +-
.../java/org/apache/helix/TestConfigAccessor.java | 187 +-
.../TestEspressoStorageClusterIdealState.java | 16 +-
.../java/org/apache/helix/TestGroupCommit.java | 4 +-
.../src/test/java/org/apache/helix/TestHelper.java | 99 +-
.../apache/helix/TestHierarchicalDataStore.java | 4 +-
.../org/apache/helix/TestShuffledIdealState.java | 49 +-
.../apache/helix/TestZKRoutingInfoProvider.java | 2 +
.../test/java/org/apache/helix/TestZkBasis.java | 8 +-
.../test/java/org/apache/helix/ZkTestHelper.java | 49 +-
.../org/apache/helix/cloud/MockHttpClient.java | 53 +
...TestAzureCloudInstanceInformationProcessor.java | 69 +
.../java/org/apache/helix/common/ZkTestBase.java | 105 +-
.../common/caches/TestCurrentStateSnapshot.java | 2 +-
.../changedetector/TestResourceChangeDetector.java | 446 ++++
.../rebalancer/TestAutoRebalanceStrategy.java | 2 +-
...stAutoRebalanceStrategyImbalanceAssignment.java | 2 +-
.../rebalancer/TestZeroReplicaAvoidance.java | 2 +-
.../util/TestResourceUsageCalculator.java | 103 +
.../waged/MockAssignmentMetadataStore.java | 60 +
.../waged/TestAssignmentMetadataStore.java | 186 ++
.../rebalancer/waged/TestWagedRebalancer.java | 524 +++++
.../waged/TestWagedRebalancerMetrics.java | 190 ++
.../waged/constraints/MockRebalanceAlgorithm.java | 84 +
.../constraints/TestConstraintBasedAlgorithm.java | 86 +
.../constraints/TestFaultZoneAwareConstraint.java | 79 +
.../TestInstancePartitionsCountConstraint.java | 63 +
.../TestMaxCapacityUsageInstanceConstraint.java | 57 +
.../constraints/TestNodeCapacityConstraint.java | 54 +
.../TestNodeMaxPartitionLimitConstraint.java | 56 +
.../TestPartitionActivateConstraint.java | 64 +
.../TestPartitionMovementConstraint.java | 127 ++
...estResourcePartitionAntiAffinityConstraint.java | 67 +
...TestResourceTopStateAntiAffinityConstraint.java | 82 +
.../TestSamePartitionOnInstanceConstraint.java | 59 +
.../TestSoftConstraintNormalizeFunction.java | 47 +
.../constraints/TestValidGroupTagConstraint.java | 66 +
.../waged/model/AbstractTestClusterModel.java | 203 ++
.../waged/model/ClusterModelTestHelper.java | 65 +
.../rebalancer/waged/model/TestAssignableNode.java | 280 +++
.../waged/model/TestAssignableReplica.java | 167 ++
.../rebalancer/waged/model/TestClusterContext.java | 93 +
.../rebalancer/waged/model/TestClusterModel.java | 101 +
.../waged/model/TestClusterModelProvider.java | 376 ++++
.../waged/model/TestOptimalAssignment.java | 91 +
.../helix/controller/stages/BaseStageTest.java | 2 +-
.../controller/stages/DummyClusterManager.java | 2 +-
.../TestBestPossibleCalcStageCompatibility.java | 2 +-
.../stages/TestCancellationMessageGeneration.java | 97 +
.../helix/controller/stages/TestClusterEvent.java | 44 +-
.../stages/TestCompatibilityCheckStage.java | 2 +-
.../stages/TestCurrentStateComputationStage.java | 2 +-
.../stages/TestMessageThrottleStage.java | 2 +-
.../stages/TestResourceComputationStage.java | 2 +-
.../helix/controller/stages/TestTaskStage.java | 2 +-
.../TestAddStateModelFactoryAfterConnect.java | 2 +-
.../helix/integration/TestBucketizedResource.java | 2 +-
.../integration/TestCarryOverBadCurState.java | 2 +-
.../helix/integration/TestCleanupExternalView.java | 2 +-
.../TestComputeAndCleanupCustomizedView.java | 2 +-
.../TestCorrectnessOnConnectivityLoss.java | 2 +-
.../integration/TestCustomizedViewAggregation.java | 24 +-
.../org/apache/helix/integration/TestDisable.java | 2 +-
.../integration/TestDisableCustomCodeRunner.java | 2 +-
.../helix/integration/TestDisableExternalView.java | 2 +-
.../helix/integration/TestDisableResource.java | 2 +-
.../helix/integration/TestDistributedCMMain.java | 2 +-
.../TestDistributedClusterController.java | 2 +-
.../org/apache/helix/integration/TestDriver.java | 6 +-
.../helix/integration/TestEnableCompression.java | 53 +-
.../integration/TestEntropyFreeNodeBounce.java | 4 +-
.../helix/integration/TestExternalViewUpdates.java | 2 +-
.../TestNoThrottleDisabledPartitions.java | 2 +-
.../apache/helix/integration/TestNullReplica.java | 2 +-
.../TestPartitionLevelTransitionConstraint.java | 2 +-
.../integration/TestPersistAssignmentStage.java | 2 +-
.../integration/TestPreferenceListAsQueue.java | 4 +-
.../helix/integration/TestRenamePartition.java | 2 +-
.../helix/integration/TestResetPartitionState.java | 2 +-
.../integration/TestResourceGroupEndtoEnd.java | 5 +-
.../TestResourceWithSamePartitionKey.java | 2 +-
.../integration/TestSyncSessionToController.java | 2 +-
.../integration/TestWeightBasedRebalanceUtil.java | 2 +-
.../integration/TestZkCallbackHandlerLeak.java | 6 +-
.../helix/integration/TestZkConnectionLost.java | 6 +-
.../TestControllerDataProviderSelectiveUpdate.java | 2 +-
.../controller/TestControllerLeadershipChange.java | 4 +-
.../controller/TestControllerLiveLock.java | 2 +-
.../controller/TestWatcherLeakageOnController.java | 102 +
.../manager/ClusterControllerManager.java | 5 +-
.../manager/ClusterDistributedController.java | 5 +-
.../manager/MockParticipantManager.java | 15 +-
.../manager/TestConsecutiveZkSessionExpiry.java | 2 +-
.../integration/manager/TestHelixDataAccessor.java | 2 +-
.../manager/TestParticipantManager.java | 2 +-
.../helix/integration/manager/ZkTestManager.java | 5 +-
.../integration/messaging/TestBatchMessage.java | 4 +-
.../messaging/TestBatchMessageWrapper.java | 2 +-
.../integration/messaging/TestMessageThrottle.java | 4 +-
.../messaging/TestMessageThrottle2.java | 2 +-
.../messaging/TestSchedulerMessage.java | 2 +-
.../messaging/TestSchedulerMessage2.java | 2 +-
.../messaging/TestSchedulerMsgContraints.java | 2 +-
.../messaging/TestSchedulerMsgUsingQueue.java | 2 +-
.../multizk/TestMultiZkHelixJavaApis.java | 732 +++++++
.../paticipant/TestInstanceAutoJoin.java | 62 +-
.../TestStateTransitionTimeoutWithResource.java | 2 +-
.../TestCrushAutoRebalanceNonRack.java | 22 +-
.../rebalancer/CrushRebalancers/TestNodeSwap.java | 4 +-
.../TestDelayedAutoRebalance.java | 49 +-
...stDelayedAutoRebalanceWithDisabledInstance.java | 32 +-
.../TestDelayedAutoRebalanceWithRackaware.java | 2 +-
.../PartitionMigration/TestExpandCluster.java | 4 +-
.../TestPartitionMigrationBase.java | 26 +-
.../TestWagedRebalancerMigration.java | 111 +
.../rebalancer/TestAutoIsWithEmptyMap.java | 2 +-
.../integration/rebalancer/TestAutoRebalance.java | 6 +-
.../TestAutoRebalancePartitionLimit.java | 6 +-
.../TestCustomizedIdealStateRebalancer.java | 6 +-
.../rebalancer/TestFullAutoNodeTagging.java | 8 +-
.../rebalancer/TestMixedModeAutoRebalance.java | 181 +-
.../rebalancer/TestZeroReplicaAvoidance.java | 62 +-
.../WagedRebalancer/TestDelayedWagedRebalance.java | 89 +
...tDelayedWagedRebalanceWithDisabledInstance.java | 96 +
.../TestDelayedWagedRebalanceWithRackaware.java | 96 +
.../TestMixedModeWagedRebalance.java | 58 +
.../TestWagedExpandCluster.java} | 47 +-
.../WagedRebalancer/TestWagedNodeSwap.java | 294 +++
.../WagedRebalancer/TestWagedRebalance.java | 593 ++++++
.../TestWagedRebalanceFaultZone.java | 372 ++++
.../TestWagedRebalanceTopologyAware.java | 114 ++
.../TestRoutingTableProviderFromCurrentStates.java | 174 +-
.../helix/integration/task/TaskTestUtil.java | 2 +-
.../task/TestTaskSchedulingTwoCurrentStates.java | 216 ++
.../helix/integration/task/TestTaskStopQueue.java | 2 +-
.../task/TestWorkflowContextWithoutConfig.java | 71 +-
.../helix/integration/task/WorkflowGenerator.java | 27 +-
.../manager/zk/TestAddBuiltInStateModelDef.java | 2 +-
...andleNewSession.java => TestHandleSession.java} | 137 +-
.../apache/helix/manager/zk/TestRawZkClient.java | 233 ++-
.../manager/zk/TestWtCacheAsyncOpMultiThread.java | 6 +-
.../manager/zk/TestWtCacheAsyncOpSingleThread.java | 6 +-
.../manager/zk/TestWtCacheSyncOpSingleThread.java | 4 +-
.../org/apache/helix/manager/zk/TestZKUtil.java | 4 +-
.../org/apache/helix/manager/zk/TestZKWatch.java | 153 ++
.../helix/manager/zk/TestZNRecordSerializer.java | 4 +-
.../helix/manager/zk/TestZNRecordSizeLimit.java | 326 ++-
.../zk/TestZNRecordStreamingSerializer.java | 2 +-
.../helix/manager/zk/TestZkBaseDataAccessor.java | 30 +-
.../helix/manager/zk/TestZkBucketDataAccessor.java | 189 ++
.../manager/zk/TestZkCacheAsyncOpSingleThread.java | 10 +-
.../manager/zk/TestZkCacheSyncOpSingleThread.java | 8 +-
.../helix/manager/zk/TestZkClusterManager.java | 2 +-
.../apache/helix/manager/zk/TestZkFlapping.java | 2 +
.../apache/helix/manager/zk/TestZkHelixAdmin.java | 220 +-
.../apache/helix/manager/zk/TestZkReconnect.java | 4 +-
.../helix/manager/zk/client/TestHelixZkClient.java | 29 +-
.../serializer/TestJacksonPayloadSerializer.java | 2 +-
.../messaging/TestDefaultMessagingService.java | 2 +-
.../apache/helix/mock/MockBaseDataAccessor.java | 8 +-
.../java/org/apache/helix/mock/MockHelixAdmin.java | 35 +-
.../java/org/apache/helix/mock/MockManager.java | 2 +-
.../java/org/apache/helix/mock/MockZkClient.java | 4 +-
.../apache/helix/mock/MockZkHelixDataAccessor.java | 2 +-
.../helix/mock/controller/MockController.java | 6 +-
.../participant/StoreAccessDiffNodeTransition.java | 7 +-
.../participant/StoreAccessOneNodeTransition.java | 7 +-
.../helix/mock/spectator/MockSpectatorProcess.java | 9 +-
.../org/apache/helix/model/TestClusterConfig.java | 259 +++
.../org/apache/helix/model/TestConstraint.java | 2 +-
.../org/apache/helix/model/TestInstanceConfig.java | 73 +-
.../org/apache/helix/model/TestResourceConfig.java | 271 +++
.../apache/helix/model/TestStateModelValidity.java | 2 +-
.../helix/model/TestStateTransitionProperty.java | 2 +-
.../apache/helix/model/cloud/TestCloudConfig.java | 224 ++
.../helix/monitoring/TestZKPathDataDumpTask.java | 2 +-
.../mbeans/TestClusterStatusMonitor.java | 194 +-
.../monitoring/mbeans/TestInstanceMonitor.java | 75 +
.../monitoring/mbeans/TestResourceMonitor.java | 373 ++--
.../mbeans/TestRoutingTableProviderMonitor.java | 10 +-
.../monitoring/mbeans/TestZkClientMonitor.java | 9 +-
.../helix/participant/MockZKHelixManager.java | 4 +-
.../participant/TestDistControllerStateModel.java | 2 +-
.../TestDistControllerStateModelFactory.java | 2 +-
.../helix/spectator/TestRoutingDataCache.java | 2 +-
.../org/apache/helix/store/TestJsonComparator.java | 2 +-
.../store/zk/TestAutoFallbackPropertyStore.java | 4 +-
.../helix/store/zk/TestZkHelixPropertyStore.java | 8 +-
.../zk/TestZkManagerWithAutoFallbackStore.java | 2 +-
.../helix/task/TestAssignableInstanceManager.java | 2 +-
.../helix/task/TestTargetedTaskStateChange.java | 329 +++
.../org/apache/helix/tools/TestClusterSetup.java | 102 +-
.../apache/helix/tools/TestClusterVerifier.java | 76 +-
.../org/apache/helix/tools/TestHelixAdminCli.java | 2 +-
.../java/org/apache/helix/tools/TestZkCopy.java | 2 +-
.../apache/helix/util/TestPropertyKeyGetPath.java | 2 +-
.../org/apache/helix/util/TestZKClientPool.java | 8 +-
helix-core/src/test/resources/AzureResponse.json | 104 +
...eUsageCalculator.MeasureBaselineDivergence.json | 37 +
...chExternalViewVerifier.ComputeIdealMapping.json | 14 +-
helix-rest/pom.xml | 12 +-
.../rest/common/HelixDataAccessorWrapper.java | 2 +-
.../helix/rest/common/HelixRestNamespace.java | 38 +-
.../apache/helix/rest/common/HttpConstants.java | 15 +-
.../org/apache/helix/rest/common/ServletType.java | 7 +-
.../rest/metadatastore/MetadataStoreDirectory.java | 137 ++
.../metadatastore/ZkMetadataStoreDirectory.java | 374 ++++
.../accessor/MetadataStoreRoutingDataReader.java | 50 +
.../accessor/MetadataStoreRoutingDataWriter.java | 74 +
.../accessor/ZkRoutingDataReader.java | 160 ++
.../accessor/ZkRoutingDataWriter.java | 428 ++++
.../concurrency/ZkDistributedLeaderElection.java | 141 ++
.../datamodel/MetadataStoreShardingKey.java | 61 +
.../MetadataStoreShardingKeysByRealm.java | 56 +
.../apache/helix/rest/server/HelixRestMain.java | 8 +-
.../apache/helix/rest/server/HelixRestServer.java | 5 +-
.../apache/helix/rest/server/ServerContext.java | 309 ++-
.../rest/server/json/instance/InstanceInfo.java | 2 +-
.../rest/server/resources/AbstractResource.java | 10 +-
.../resources/helix/AbstractHelixResource.java | 14 +-
.../server/resources/helix/ClusterAccessor.java | 500 +++--
.../server/resources/helix/InstancesAccessor.java | 88 +-
.../rest/server/resources/helix/JobAccessor.java | 4 +-
.../resources/helix/PerInstanceAccessor.java | 58 +-
.../resources/helix/PropertyStoreAccessor.java | 6 +-
.../server/resources/helix/ResourceAccessor.java | 160 +-
.../rest/server/resources/helix/TaskAccessor.java | 2 +-
.../server/resources/helix/WorkflowAccessor.java | 4 +-
.../MetadataStoreDirectoryAccessor.java | 392 ++++
.../resources/zookeeper/ZooKeeperAccessor.java | 25 +-
.../rest/server/service/InstanceServiceImpl.java | 8 +
.../rest/common/TestHelixDataAccessorWrapper.java | 2 +-
.../TestZkMetadataStoreDirectory.java | 375 ++++
.../accessor/TestZkRoutingDataReader.java | 136 ++
.../accessor/TestZkRoutingDataWriter.java | 223 ++
.../integration/TestRoutingDataUpdate.java | 176 ++
.../helix/rest/server/AbstractTestClass.java | 192 +-
.../MetadataStoreDirectoryAccessorTestBase.java | 149 ++
.../helix/rest/server/TestClusterAccessor.java | 454 ++++-
.../helix/rest/server/TestInstancesAccessor.java | 77 +
.../rest/server/TestMSDAccessorLeaderElection.java | 261 +++
.../server/TestMetadataStoreDirectoryAccessor.java | 516 +++++
.../helix/rest/server/TestPerInstanceAccessor.java | 68 +-
.../rest/server/TestPropertyStoreAccessor.java | 6 +-
.../helix/rest/server/TestResourceAccessor.java | 146 +-
.../helix/rest/server/TestZooKeeperAccessor.java | 4 +-
.../mock/MockMetadataStoreDirectoryAccessor.java | 124 ++
.../rest/server/util/JerseyUriRequestBuilder.java | 3 +-
.../LICENSE | 0
.../NOTICE | 0
...adata-store-directory-common-0.9.2-SNAPSHOT.ivy | 42 +-
.../pom.xml | 95 +-
.../src/assemble/assembly.xml | 60 +
.../src/main/config/log4j.properties | 0
.../msdcommon/callback/RoutingDataListener.java | 11 +-
.../constant/MetadataStoreRoutingConstants.java | 95 +
.../datamodel/MetadataStoreRoutingData.java | 78 +
.../helix/msdcommon/datamodel/TrieRoutingData.java | 327 +++
.../exception/InvalidRoutingDataException.java | 18 +-
.../mock/MockMetadataStoreDirectoryServer.java | 161 ++
.../helix/msdcommon/util/ZkValidationUtil.java | 32 +-
.../src/test/conf/testng.xml | 27 +
.../helix/msdcommon/constant/TestConstants.java | 23 +-
.../msdcommon/datamodel/TestTrieRoutingData.java | 346 ++++
.../mock/TestMockMetadataStoreDirectoryServer.java | 115 ++
.../src/test/resources/log4j.properties | 0
metrics-common/LICENSE | 270 +++
metrics-common/NOTICE | 37 +
.../metrics-common-0.9.2-SNAPSHOT.ivy | 35 +-
{helix-admin-webapp => metrics-common}/pom.xml | 74 +-
metrics-common/src/assemble/assembly.xml | 60 +
.../helix/monitoring/SensorNameProvider.java | 0
.../helix/monitoring/mbeans/MBeanRegistrar.java | 1 +
.../monitoring/mbeans/MonitorDomainNames.java | 0
.../mbeans/dynamicMBeans/DynamicMBeanProvider.java | 41 +-
.../mbeans/dynamicMBeans/DynamicMetric.java | 5 +-
.../dynamicMBeans/HistogramDynamicMetric.java | 1 +
.../mbeans/dynamicMBeans/SimpleDynamicMetric.java | 0
.../mbeans/exception/MetricException.java | 18 +-
metrics-common/src/test/conf/testng.xml | 27 +
.../src/test/resources/log4j.properties | 0
pom.xml | 10 +
.../apache/helix/lockmanager/LockManagerDemo.java | 7 +-
.../apache/helix/recipes/rabbitmq/Consumer.java | 2 +-
.../recipes/rabbitmq/SetupConsumerCluster.java | 2 +-
recipes/rsync-replicated-file-system/pom.xml | 5 -
.../java/org/apache/helix/filestore/FileStore.java | 2 +-
.../helix/filestore/FileStoreStateModel.java | 4 +-
.../apache/helix/filestore/IntegrationTest.java | 8 +-
.../org/apache/helix/filestore/Replicator.java | 2 +-
.../org/apache/helix/filestore/SetupCluster.java | 2 +-
.../helix/servicediscovery/ServiceDiscovery.java | 2 +-
.../apache/helix/taskexecution/TaskCluster.java | 2 +-
.../helix/taskexecution/TaskExecutionDemo.java | 7 +-
.../org/apache/helix/taskexecution/Worker.java | 2 +-
zookeeper-api/LICENSE | 270 +++
zookeeper-api/NOTICE | 37 +
{helix-admin-webapp => zookeeper-api}/pom.xml | 91 +-
zookeeper-api/src/assemble/assembly.xml | 60 +
.../src/main/config/log4j.properties | 0
.../helix/zookeeper/api/client/HelixZkClient.java | 157 ++
.../zookeeper/api/client/RealmAwareZkClient.java | 606 ++++++
.../helix/zookeeper/api/client/ZkClientType.java | 32 +-
.../api/factory/RealmAwareZkClientFactory.java | 56 +
.../zookeeper/constant/ZkSystemPropertyKeys.java | 53 +
.../helix/zookeeper/datamodel}/ZNRecord.java | 56 +-
.../zookeeper/datamodel}/ZNRecordAssembler.java | 3 +-
.../zookeeper/datamodel}/ZNRecordBucketizer.java | 3 +-
.../helix/zookeeper/datamodel}/ZNRecordDelta.java | 2 +-
.../zookeeper/datamodel}/ZNRecordUpdater.java | 5 +-
.../serializer/JacksonPayloadSerializer.java | 8 +-
.../datamodel}/serializer/PayloadSerializer.java | 2 +-
.../serializer/ZNRecordJacksonSerializer.java | 68 +
.../datamodel/serializer}/ZNRecordSerializer.java | 52 +-
.../serializer}/ZNRecordStreamingSerializer.java | 50 +-
.../zookeeper/exception/ZkClientException.java | 14 +-
.../zookeeper/impl/client/DedicatedZkClient.java | 504 +++++
.../zookeeper/impl/client/FederatedZkClient.java | 574 ++++++
.../zookeeper/impl/client/SharedZkClient.java | 534 +++++
.../helix/zookeeper/impl/client}/ZkClient.java | 59 +-
.../impl/factory/DedicatedZkClientFactory.java | 69 +
.../impl/factory/HelixZkClientFactory.java | 71 +
.../impl/factory/SharedZkClientFactory.java | 209 ++
.../impl/factory}/ZkConnectionManager.java | 55 +-
.../helix/zookeeper}/util/GZipCompressionUtil.java | 5 +-
.../zookeeper/util/HttpRoutingDataReader.java | 197 ++
.../apache/helix/zookeeper/util/ZNRecordUtil.java | 65 +
.../helix/zookeeper/zkclient/DataUpdater.java | 34 +
.../helix/zookeeper/zkclient/ExceptionUtil.java | 52 +
.../zookeeper/zkclient/IDefaultNameSpace.java | 27 +
.../helix/zookeeper/zkclient/IZkChildListener.java | 41 +
.../helix/zookeeper/zkclient/IZkConnection.java | 60 +
.../helix/zookeeper/zkclient/IZkDataListener.java | 30 +
.../zookeeper/zkclient}/IZkStateListener.java | 2 +-
.../helix/zookeeper/zkclient/NetworkUtil.java | 122 ++
.../apache/helix/zookeeper/zkclient}/ZkClient.java | 244 ++-
.../helix/zookeeper/zkclient}/ZkConnection.java | 6 +-
.../helix/zookeeper/zkclient}/ZkEventThread.java | 5 +-
.../apache/helix/zookeeper/zkclient/ZkLock.java | 56 +
.../apache/helix/zookeeper/zkclient/ZkServer.java | 175 ++
.../zookeeper/zkclient/annotation}/PreFetch.java | 2 +-
.../zkclient/callback}/ZkAsyncCallbacks.java | 11 +-
.../zkclient/deprecated/IZkStateListener.java | 53 +
.../zkclient/exception/ZkBadVersionException.java | 39 +
.../zookeeper/zkclient/exception/ZkException.java | 71 +
.../zkclient/exception/ZkInterruptedException.java | 26 +
.../zkclient/exception/ZkMarshallingError.java | 37 +
.../zkclient/exception/ZkNoNodeException.java | 39 +
.../zkclient/exception/ZkNodeExistsException.java | 39 +
.../exception/ZkSessionMismatchedException.java | 22 +-
.../zkclient/exception/ZkTimeoutException.java | 37 +
.../zkclient/metric}/ZkClientMonitor.java | 15 +-
.../zkclient/metric}/ZkClientPathMonitor.java | 4 +-
.../zkclient/serialize}/BasicZkSerializer.java | 4 +-
.../serialize/BytesPushThroughSerializer.java | 36 +
.../zkclient/serialize}/PathBasedZkSerializer.java | 5 +-
.../zkclient/serialize/SerializableSerializer.java | 55 +
.../serialize/TcclAwareObjectIputStream.java | 82 +
.../zookeeper/zkclient/serialize/ZkSerializer.java | 33 +
.../zkclient}/util/ExponentialBackoffStrategy.java | 22 +-
zookeeper-api/src/test/conf/testng.xml | 27 +
.../helix/zookeeper/constant/TestConstants.java | 45 +
.../TestZNRecordSerializeWriteSizeLimit.java | 205 ++
.../apache/helix/zookeeper/impl/ZkTestBase.java | 148 ++
.../client/RealmAwareZkClientFactoryTestBase.java | 180 ++
.../impl/client/RealmAwareZkClientTestBase.java | 66 +
.../impl/client/TestDedicatedZkClient.java | 27 +-
.../impl/client/TestFederatedZkClient.java | 283 +++
.../zookeeper/impl/client/TestSharedZkClient.java | 69 +
.../zookeeper/util/TestHttpRoutingDataReader.java | 120 ++
.../src/test/resources/log4j.properties | 0
.../zookeeper-api-0.9.2-SNAPSHOT.ivy | 39 +-
680 files changed, 36132 insertions(+), 8160 deletions(-)
create mode 100644 helix-common/LICENSE
create mode 100644 helix-common/NOTICE
copy helix-core/helix-core-0.9.2-SNAPSHOT.ivy => helix-common/helix-common-0.9.2-SNAPSHOT.ivy (56%)
copy {helix-admin-webapp => helix-common}/pom.xml (58%)
create mode 100644 helix-common/src/assemble/assembly.xml
copy {helix-core => helix-common}/src/main/java/org/apache/helix/HelixException.java (100%)
create mode 100644 helix-common/src/main/java/org/apache/helix/SystemPropertyKeys.java
copy helix-core/src/main/java/org/apache/helix/HelixException.java => helix-common/src/main/java/org/apache/helix/ZNRecord.java (52%)
copy helix-core/src/main/java/org/apache/helix/monitoring/SensorNameProvider.java => helix-common/src/main/java/org/apache/helix/ZNRecordDelta.java (78%)
copy helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MonitorDomainNames.java => helix-common/src/main/java/org/apache/helix/manager/zk/serializer/JacksonPayloadSerializer.java (71%)
copy helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MonitorDomainNames.java => helix-common/src/main/java/org/apache/helix/manager/zk/serializer/PayloadSerializer.java (71%)
create mode 100644 helix-common/src/test/conf/testng.xml
copy {helix-rest => helix-common}/src/test/resources/log4j.properties (100%)
copy helix-core/src/main/java/org/apache/helix/{manager/zk/PathBasedZkSerializer.java => BucketDataAccessor.java} (50%)
create mode 100644 helix-core/src/main/java/org/apache/helix/HelixCloudProperty.java
create mode 100644 helix-core/src/main/java/org/apache/helix/HelixManagerProperty.java
create mode 100644 helix-core/src/main/java/org/apache/helix/HelixPropertyFactory.java
copy helix-core/src/main/java/org/apache/helix/{HelixException.java => HelixRebalanceException.java} (50%)
delete mode 100644 helix-core/src/main/java/org/apache/helix/SystemPropertyKeys.java
copy helix-core/src/main/java/org/apache/helix/{task/beans/WorkflowBean.java => api/cloud/CloudInstanceInformation.java} (60%)
copy helix-core/src/main/java/org/apache/helix/{task/beans/WorkflowBean.java => api/cloud/CloudInstanceInformationProcessor.java} (56%)
create mode 100644 helix-core/src/main/java/org/apache/helix/cloud/azure/AzureCloudInstanceInformation.java
create mode 100644 helix-core/src/main/java/org/apache/helix/cloud/azure/AzureCloudInstanceInformationProcessor.java
create mode 100644 helix-core/src/main/java/org/apache/helix/cloud/azure/AzureConstants.java
copy helix-core/src/main/java/org/apache/helix/{monitoring/SensorNameProvider.java => cloud/constants/CloudProvider.java} (88%)
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/changedetector/ChangeDetector.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/changedetector/ResourceChangeDetector.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/changedetector/ResourceChangeSnapshot.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/StatefulRebalancer.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/util/DelayedRebalanceUtil.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/util/WagedValidationUtil.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/AssignmentMetadataStore.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/RebalanceAlgorithm.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/WagedRebalancer.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ConstraintBasedAlgorithm.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ConstraintBasedAlgorithmFactory.java
copy helix-core/src/main/java/org/apache/helix/{manager/zk/ByteArraySerializer.java => controller/rebalancer/waged/constraints/FaultZoneAwareConstraint.java} (51%)
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/HardConstraint.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/InstancePartitionsCountConstraint.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/MaxCapacityUsageInstanceConstraint.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/NodeCapacityConstraint.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/NodeMaxPartitionLimitConstraint.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/PartitionMovementConstraint.java
copy helix-core/src/main/java/org/apache/helix/{manager/zk/ByteArraySerializer.java => controller/rebalancer/waged/constraints/ReplicaActivateConstraint.java} (52%)
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ResourcePartitionAntiAffinityConstraint.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ResourceTopStateAntiAffinityConstraint.java
copy helix-core/src/main/java/org/apache/helix/{store/ZNRecordJsonSerializer.java => controller/rebalancer/waged/constraints/SamePartitionOnInstanceConstraint.java} (54%)
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/SoftConstraint.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/UsageSoftConstraint.java
copy helix-core/src/main/java/org/apache/helix/{store/ZNRecordJsonSerializer.java => controller/rebalancer/waged/constraints/ValidGroupTagConstraint.java} (54%)
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/AssignableNode.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/AssignableReplica.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterContext.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModel.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModelProvider.java
create mode 100644 helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/OptimalAssignment.java
create mode 100644 helix-core/src/main/java/org/apache/helix/manager/zk/GenericBaseDataAccessorBuilder.java
create mode 100644 helix-core/src/main/java/org/apache/helix/manager/zk/GenericZkHelixApiBuilder.java
copy helix-core/src/main/java/org/apache/helix/manager/zk/{ByteArraySerializer.java => ZNRecordJacksonSerializer.java} (68%)
create mode 100644 helix-core/src/main/java/org/apache/helix/manager/zk/ZkBucketDataAccessor.java
delete mode 100644 helix-core/src/main/java/org/apache/helix/manager/zk/ZkSessionMismatchedException.java
delete mode 100644 helix-core/src/main/java/org/apache/helix/manager/zk/client/HelixZkClientFactory.java
create mode 100644 helix-core/src/main/java/org/apache/helix/model/CloudConfig.java
delete mode 100644 helix-core/src/main/java/org/apache/helix/monitoring/mbeans/InstanceMonitorMBean.java
create mode 100644 helix-core/src/main/java/org/apache/helix/monitoring/metrics/MetricCollector.java
create mode 100644 helix-core/src/main/java/org/apache/helix/monitoring/metrics/WagedRebalancerMetricCollector.java
create mode 100644 helix-core/src/main/java/org/apache/helix/monitoring/metrics/implementation/BaselineDivergenceGauge.java
copy helix-core/src/main/java/org/apache/helix/{LiveInstanceInfoProvider.java => monitoring/metrics/implementation/RebalanceCounter.java} (60%)
copy helix-core/src/{test/java/org/apache/helix/integration/manager/ZkTestManager.java => main/java/org/apache/helix/monitoring/metrics/implementation/RebalanceFailureCount.java} (69%)
create mode 100644 helix-core/src/main/java/org/apache/helix/monitoring/metrics/implementation/RebalanceLatencyGauge.java
create mode 100644 helix-core/src/main/java/org/apache/helix/monitoring/metrics/model/CountMetric.java
create mode 100644 helix-core/src/main/java/org/apache/helix/monitoring/metrics/model/LatencyMetric.java
copy helix-core/src/main/java/org/apache/helix/{manager/zk/PathBasedZkSerializer.java => monitoring/metrics/model/Metric.java} (57%)
copy helix-core/src/main/java/org/apache/helix/monitoring/{mbeans/dynamicMBeans/SimpleDynamicMetric.java => metrics/model/RatioMetric.java} (52%)
create mode 100644 helix-core/src/main/resources/azure-cloud.properties
create mode 100644 helix-core/src/main/resources/helix-manager.properties
create mode 100644 helix-core/src/main/resources/soft-constraint-weight.properties
create mode 100644 helix-core/src/test/java/org/apache/helix/cloud/MockHttpClient.java
create mode 100644 helix-core/src/test/java/org/apache/helix/cloud/TestAzureCloudInstanceInformationProcessor.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/changedetector/TestResourceChangeDetector.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/util/TestResourceUsageCalculator.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/MockAssignmentMetadataStore.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/TestAssignmentMetadataStore.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/TestWagedRebalancer.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/TestWagedRebalancerMetrics.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/MockRebalanceAlgorithm.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestConstraintBasedAlgorithm.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestFaultZoneAwareConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestInstancePartitionsCountConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestMaxCapacityUsageInstanceConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestNodeCapacityConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestNodeMaxPartitionLimitConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestPartitionActivateConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestPartitionMovementConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestResourcePartitionAntiAffinityConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestResourceTopStateAntiAffinityConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestSamePartitionOnInstanceConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestSoftConstraintNormalizeFunction.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/constraints/TestValidGroupTagConstraint.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/AbstractTestClusterModel.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModelTestHelper.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/TestAssignableNode.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/TestAssignableReplica.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/TestClusterContext.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/TestClusterModel.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/TestClusterModelProvider.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/rebalancer/waged/model/TestOptimalAssignment.java
create mode 100644 helix-core/src/test/java/org/apache/helix/controller/stages/TestCancellationMessageGeneration.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/controller/TestWatcherLeakageOnController.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/multizk/TestMultiZkHelixJavaApis.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/PartitionMigration/TestWagedRebalancerMigration.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestDelayedWagedRebalance.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestDelayedWagedRebalanceWithDisabledInstance.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestDelayedWagedRebalanceWithRackaware.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestMixedModeWagedRebalance.java
copy helix-core/src/test/java/org/apache/helix/integration/rebalancer/{PartitionMigration/TestExpandCluster.java => WagedRebalancer/TestWagedExpandCluster.java} (74%)
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestWagedNodeSwap.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestWagedRebalance.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestWagedRebalanceFaultZone.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestWagedRebalanceTopologyAware.java
create mode 100644 helix-core/src/test/java/org/apache/helix/integration/task/TestTaskSchedulingTwoCurrentStates.java
rename helix-core/src/test/java/org/apache/helix/manager/zk/{TestHandleNewSession.java => TestHandleSession.java} (80%)
create mode 100644 helix-core/src/test/java/org/apache/helix/manager/zk/TestZKWatch.java
create mode 100644 helix-core/src/test/java/org/apache/helix/manager/zk/TestZkBucketDataAccessor.java
create mode 100644 helix-core/src/test/java/org/apache/helix/model/TestClusterConfig.java
create mode 100644 helix-core/src/test/java/org/apache/helix/model/TestResourceConfig.java
create mode 100644 helix-core/src/test/java/org/apache/helix/model/cloud/TestCloudConfig.java
create mode 100644 helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestInstanceMonitor.java
create mode 100644 helix-core/src/test/java/org/apache/helix/task/TestTargetedTaskStateChange.java
create mode 100644 helix-core/src/test/resources/AzureResponse.json
create mode 100644 helix-core/src/test/resources/TestResourceUsageCalculator.MeasureBaselineDivergence.json
copy helix-core/src/main/java/org/apache/helix/monitoring/SensorNameProvider.java => helix-rest/src/main/java/org/apache/helix/rest/common/HttpConstants.java (75%)
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/MetadataStoreDirectory.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/ZkMetadataStoreDirectory.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/MetadataStoreRoutingDataReader.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/MetadataStoreRoutingDataWriter.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/ZkRoutingDataReader.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/accessor/ZkRoutingDataWriter.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/concurrency/ZkDistributedLeaderElection.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/datamodel/MetadataStoreShardingKey.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/metadatastore/datamodel/MetadataStoreShardingKeysByRealm.java
create mode 100644 helix-rest/src/main/java/org/apache/helix/rest/server/resources/metadatastore/MetadataStoreDirectoryAccessor.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/metadatastore/TestZkMetadataStoreDirectory.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/metadatastore/accessor/TestZkRoutingDataReader.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/metadatastore/accessor/TestZkRoutingDataWriter.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/metadatastore/integration/TestRoutingDataUpdate.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/server/MetadataStoreDirectoryAccessorTestBase.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/server/TestMSDAccessorLeaderElection.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/server/TestMetadataStoreDirectoryAccessor.java
create mode 100644 helix-rest/src/test/java/org/apache/helix/rest/server/mock/MockMetadataStoreDirectoryAccessor.java
copy {helix-rest => metadata-store-directory-common}/LICENSE (100%)
copy {helix-rest => metadata-store-directory-common}/NOTICE (100%)
copy helix-core/helix-core-0.9.2-SNAPSHOT.ivy => metadata-store-directory-common/metadata-store-directory-common-0.9.2-SNAPSHOT.ivy (55%)
copy {helix-admin-webapp => metadata-store-directory-common}/pom.xml (55%)
create mode 100644 metadata-store-directory-common/src/assemble/assembly.xml
copy {helix-rest => metadata-store-directory-common}/src/main/config/log4j.properties (100%)
copy helix-core/src/main/java/org/apache/helix/monitoring/SensorNameProvider.java => metadata-store-directory-common/src/main/java/org/apache/helix/msdcommon/callback/RoutingDataListener.java (75%)
create mode 100644 metadata-store-directory-common/src/main/java/org/apache/helix/msdcommon/constant/MetadataStoreRoutingConstants.java
create mode 100644 metadata-store-directory-common/src/main/java/org/apache/helix/msdcommon/datamodel/MetadataStoreRoutingData.java
create mode 100644 metadata-store-directory-common/src/main/java/org/apache/helix/msdcommon/datamodel/TrieRoutingData.java
copy helix-core/src/main/java/org/apache/helix/monitoring/mbeans/MonitorDomainNames.java => metadata-store-directory-common/src/main/java/org/apache/helix/msdcommon/exception/InvalidRoutingDataException.java (67%)
create mode 100644 metadata-store-directory-common/src/main/java/org/apache/helix/msdcommon/mock/MockMetadataStoreDirectoryServer.java
copy helix-core/src/test/java/org/apache/helix/controller/stages/TestClusterEvent.java => metadata-store-directory-common/src/main/java/org/apache/helix/msdcommon/util/ZkValidationUtil.java (60%)
create mode 100644 metadata-store-directory-common/src/test/conf/testng.xml
copy helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportCollector.java => metadata-store-directory-common/src/test/java/org/apache/helix/msdcommon/constant/TestConstants.java (59%)
create mode 100644 metadata-store-directory-common/src/test/java/org/apache/helix/msdcommon/datamodel/TestTrieRoutingData.java
create mode 100644 metadata-store-directory-common/src/test/java/org/apache/helix/msdcommon/mock/TestMockMetadataStoreDirectoryServer.java
copy {helix-rest => metadata-store-directory-common}/src/test/resources/log4j.properties (100%)
create mode 100644 metrics-common/LICENSE
create mode 100644 metrics-common/NOTICE
copy helix-core/helix-core-0.9.2-SNAPSHOT.ivy => metrics-common/metrics-common-0.9.2-SNAPSHOT.ivy (53%)
copy {helix-admin-webapp => metrics-common}/pom.xml (55%)
create mode 100644 metrics-common/src/assemble/assembly.xml
rename {helix-core => metrics-common}/src/main/java/org/apache/helix/monitoring/SensorNameProvider.java (100%)
rename {helix-core => metrics-common}/src/main/java/org/apache/helix/monitoring/mbeans/MBeanRegistrar.java (99%)
copy {helix-core => metrics-common}/src/main/java/org/apache/helix/monitoring/mbeans/MonitorDomainNames.java (100%)
copy {helix-core => metrics-common}/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/DynamicMBeanProvider.java (87%)
rename {helix-core => metrics-common}/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/DynamicMetric.java (95%)
rename {helix-core => metrics-common}/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/HistogramDynamicMetric.java (99%)
copy {helix-core => metrics-common}/src/main/java/org/apache/helix/monitoring/mbeans/dynamicMBeans/SimpleDynamicMetric.java (100%)
copy helix-core/src/main/java/org/apache/helix/api/listeners/PreFetch.java => metrics-common/src/main/java/org/apache/helix/monitoring/mbeans/exception/MetricException.java (70%)
create mode 100644 metrics-common/src/test/conf/testng.xml
copy {helix-rest => metrics-common}/src/test/resources/log4j.properties (100%)
create mode 100644 zookeeper-api/LICENSE
create mode 100644 zookeeper-api/NOTICE
copy {helix-admin-webapp => zookeeper-api}/pom.xml (64%)
create mode 100644 zookeeper-api/src/assemble/assembly.xml
copy {helix-rest => zookeeper-api}/src/main/config/log4j.properties (100%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/api/client/HelixZkClient.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/api/client/RealmAwareZkClient.java
copy helix-core/src/main/java/org/apache/helix/manager/zk/PathBasedZkSerializer.java => zookeeper-api/src/main/java/org/apache/helix/zookeeper/api/client/ZkClientType.java (54%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/api/factory/RealmAwareZkClientFactory.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/constant/ZkSystemPropertyKeys.java
rename {helix-core/src/main/java/org/apache/helix => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel}/ZNRecord.java (91%)
copy {helix-core/src/main/java/org/apache/helix => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel}/ZNRecordAssembler.java (96%)
copy {helix-core/src/main/java/org/apache/helix => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel}/ZNRecordBucketizer.java (98%)
rename {helix-core/src/main/java/org/apache/helix => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel}/ZNRecordDelta.java (97%)
copy {helix-core/src/main/java/org/apache/helix => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel}/ZNRecordUpdater.java (92%)
rename {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel}/serializer/JacksonPayloadSerializer.java (94%)
rename {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel}/serializer/PayloadSerializer.java (96%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer/ZNRecordJacksonSerializer.java
copy {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer}/ZNRecordSerializer.java (69%)
copy {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/datamodel/serializer}/ZNRecordStreamingSerializer.java (86%)
copy helix-core/src/main/java/org/apache/helix/HelixException.java => zookeeper-api/src/main/java/org/apache/helix/zookeeper/exception/ZkClientException.java (69%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/client/DedicatedZkClient.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/client/FederatedZkClient.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/client/SharedZkClient.java
copy {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/client}/ZkClient.java (83%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/factory/DedicatedZkClientFactory.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/factory/HelixZkClientFactory.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/factory/SharedZkClientFactory.java
copy {helix-core/src/main/java/org/apache/helix/manager/zk/client => zookeeper-api/src/main/java/org/apache/helix/zookeeper/impl/factory}/ZkConnectionManager.java (62%)
copy {helix-core/src/main/java/org/apache/helix => zookeeper-api/src/main/java/org/apache/helix/zookeeper}/util/GZipCompressionUtil.java (97%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/util/HttpRoutingDataReader.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/util/ZNRecordUtil.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/DataUpdater.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ExceptionUtil.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/IDefaultNameSpace.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/IZkChildListener.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/IZkConnection.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/IZkDataListener.java
copy {helix-core/src/main/java/org/apache/helix/manager/zk/zookeeper => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient}/IZkStateListener.java (98%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/NetworkUtil.java
copy {helix-core/src/main/java/org/apache/helix/manager/zk/zookeeper => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient}/ZkClient.java (90%)
copy {helix-core/src/main/java/org/apache/helix/manager/zk/zookeeper => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient}/ZkConnection.java (97%)
rename {helix-core/src/main/java/org/apache/helix/manager/zk/zookeeper => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient}/ZkEventThread.java (97%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkLock.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/ZkServer.java
copy {helix-core/src/main/java/org/apache/helix/api/listeners => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/annotation}/PreFetch.java (94%)
copy {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/callback}/ZkAsyncCallbacks.java (96%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/deprecated/IZkStateListener.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkBadVersionException.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkException.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkInterruptedException.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkMarshallingError.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkNoNodeException.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkNodeExistsException.java
copy helix-core/src/main/java/org/apache/helix/task/beans/WorkflowBean.java => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkSessionMismatchedException.java (68%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/exception/ZkTimeoutException.java
copy {helix-core/src/main/java/org/apache/helix/monitoring/mbeans => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/metric}/ZkClientMonitor.java (94%)
copy {helix-core/src/main/java/org/apache/helix/monitoring/mbeans => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/metric}/ZkClientPathMonitor.java (98%)
copy {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/serialize}/BasicZkSerializer.java (93%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/serialize/BytesPushThroughSerializer.java
copy {helix-core/src/main/java/org/apache/helix/manager/zk => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/serialize}/PathBasedZkSerializer.java (91%)
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/serialize/SerializableSerializer.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/serialize/TcclAwareObjectIputStream.java
create mode 100644 zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/serialize/ZkSerializer.java
copy {helix-core/src/main/java/org/apache/helix => zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient}/util/ExponentialBackoffStrategy.java (54%)
create mode 100644 zookeeper-api/src/test/conf/testng.xml
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/constant/TestConstants.java
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/datamodel/serializer/TestZNRecordSerializeWriteSizeLimit.java
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/impl/ZkTestBase.java
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/impl/client/RealmAwareZkClientFactoryTestBase.java
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/impl/client/RealmAwareZkClientTestBase.java
rename helix-core/src/main/java/org/apache/helix/HelixException.java => zookeeper-api/src/test/java/org/apache/helix/zookeeper/impl/client/TestDedicatedZkClient.java (54%)
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/impl/client/TestFederatedZkClient.java
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/impl/client/TestSharedZkClient.java
create mode 100644 zookeeper-api/src/test/java/org/apache/helix/zookeeper/util/TestHttpRoutingDataReader.java
copy {helix-rest => zookeeper-api}/src/test/resources/log4j.properties (100%)
copy helix-core/helix-core-0.9.2-SNAPSHOT.ivy => zookeeper-api/zookeeper-api-0.9.2-SNAPSHOT.ivy (53%)