You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@helix.apache.org by ki...@apache.org on 2013/11/20 22:13:06 UTC
[51/52] [abbrv] git commit: Merging with trunk
Merging with trunk
Project: http://git-wip-us.apache.org/repos/asf/incubator-helix/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-helix/commit/6dece848
Tree: http://git-wip-us.apache.org/repos/asf/incubator-helix/tree/6dece848
Diff: http://git-wip-us.apache.org/repos/asf/incubator-helix/diff/6dece848
Branch: refs/heads/helix-yarn
Commit: 6dece848c29b97b9140efedde4c7492322bd8966
Parents: 342d0e7 d09de23
Author: Kishore Gopalakrishna <kg...@lm-lsv39442.linkedin.biz>
Authored: Wed Nov 20 13:10:21 2013 -0800
Committer: Kishore Gopalakrishna <kg...@lm-lsv39442.linkedin.biz>
Committed: Wed Nov 20 13:10:21 2013 -0800
----------------------------------------------------------------------
.gitignore | 18 +
deploySite.sh | 2 +-
helix-admin-webapp/pom.xml | 11 +-
.../helix/webapp/RestAdminApplication.java | 18 +-
.../resources/ClusterRepresentationUtil.java | 2 +-
.../helix/webapp/resources/ClusterResource.java | 54 +-
.../webapp/resources/ClustersResource.java | 41 +-
.../helix/webapp/resources/ConfigResource.java | 32 +-
.../webapp/resources/ConstraintResource.java | 28 +-
.../webapp/resources/ControllerResource.java | 45 +-
.../ControllerStatusUpdateResource.java | 39 +-
.../webapp/resources/CurrentStateResource.java | 39 +-
.../webapp/resources/CurrentStatesResource.java | 35 +-
.../helix/webapp/resources/ErrorResource.java | 39 +-
.../helix/webapp/resources/ErrorsResource.java | 36 +-
.../webapp/resources/ExternalViewResource.java | 39 +-
.../webapp/resources/IdealStateResource.java | 44 +-
.../webapp/resources/InstanceResource.java | 45 +-
.../webapp/resources/InstancesResource.java | 42 +-
.../helix/webapp/resources/JsonParameters.java | 2 +-
.../webapp/resources/ResourceGroupResource.java | 45 +-
.../resources/ResourceGroupsResource.java | 42 +-
.../resources/SchedulerTasksResource.java | 58 +-
.../webapp/resources/StateModelResource.java | 44 +-
.../webapp/resources/StateModelsResource.java | 43 +-
.../webapp/resources/StatusUpdateResource.java | 39 +-
.../webapp/resources/StatusUpdatesResource.java | 39 +-
.../helix/webapp/resources/ZkChildResource.java | 42 +-
.../helix/webapp/resources/ZkPathResource.java | 47 +-
.../tools/TestHelixAdminScenariosRest.java | 897 ++++++++-----
.../apache/helix/tools/TestResetInstance.java | 21 +-
.../helix/tools/TestResetPartitionState.java | 35 +-
.../apache/helix/tools/TestResetResource.java | 22 +-
.../webapp/TestClusterManagementWebapp.java | 8 +-
helix-agent/DISCLAIMER | 15 +
helix-agent/LICENSE | 273 ++++
helix-agent/NOTICE | 30 +
helix-agent/pom.xml | 23 +-
helix-agent/src/assemble/assembly.xml | 60 +
.../org/apache/helix/agent/AgentStateModel.java | 24 +-
.../helix/agent/AgentStateModelFactory.java | 7 +-
.../org/apache/helix/agent/HelixAgentMain.java | 4 +-
.../helix/agent/ProcessMonitorThread.java | 1 -
.../org/apache/helix/agent/TestHelixAgent.java | 29 +-
helix-core/pom.xml | 20 +-
.../java/org/apache/helix/ConfigAccessor.java | 4 +-
.../main/java/org/apache/helix/HelixAdmin.java | 9 +-
.../org/apache/helix/HelixAutoController.java | 62 +
.../java/org/apache/helix/HelixConnection.java | 280 ++++
.../helix/HelixConnectionStateListener.java | 32 +
.../java/org/apache/helix/HelixController.java | 37 +
.../org/apache/helix/HelixDataAccessor.java | 2 +-
.../java/org/apache/helix/HelixManager.java | 13 +-
.../apache/helix/HelixManagerProperties.java | 9 +-
.../java/org/apache/helix/HelixParticipant.java | 56 +
.../java/org/apache/helix/HelixProperty.java | 16 +-
.../main/java/org/apache/helix/HelixRole.java | 59 +
.../java/org/apache/helix/HelixService.java | 35 +
.../main/java/org/apache/helix/PropertyKey.java | 113 +-
.../org/apache/helix/PropertyPathConfig.java | 8 +
.../java/org/apache/helix/PropertyType.java | 2 +
.../main/java/org/apache/helix/ZNRecord.java | 9 +
.../org/apache/helix/alerts/AlertProcessor.java | 3 -
.../org/apache/helix/alerts/AlertsHolder.java | 3 -
.../apache/helix/alerts/DecayAggregator.java | 2 -
.../apache/helix/alerts/ExpressionParser.java | 2 -
.../org/apache/helix/alerts/StatsHolder.java | 4 -
.../java/org/apache/helix/alerts/Tuple.java | 3 -
.../apache/helix/alerts/WindowAggregator.java | 2 -
.../main/java/org/apache/helix/api/Cluster.java | 307 +++++
.../java/org/apache/helix/api/Controller.java | 74 ++
.../java/org/apache/helix/api/HelixVersion.java | 68 +
.../java/org/apache/helix/api/Participant.java | 174 +++
.../java/org/apache/helix/api/Partition.java | 54 +
.../java/org/apache/helix/api/Resource.java | 212 ++++
.../org/apache/helix/api/RunningInstance.java | 69 +
.../main/java/org/apache/helix/api/Scope.java | 125 ++
.../java/org/apache/helix/api/Spectator.java | 45 +
.../main/java/org/apache/helix/api/State.java | 85 ++
.../api/accessor/AtomicClusterAccessor.java | 260 ++++
.../api/accessor/AtomicParticipantAccessor.java | 211 +++
.../api/accessor/AtomicResourceAccessor.java | 150 +++
.../helix/api/accessor/ClusterAccessor.java | 836 ++++++++++++
.../helix/api/accessor/ControllerAccessor.java | 49 +
.../helix/api/accessor/ParticipantAccessor.java | 774 +++++++++++
.../helix/api/accessor/ResourceAccessor.java | 472 +++++++
.../apache/helix/api/config/ClusterConfig.java | 912 +++++++++++++
.../helix/api/config/NamespacedConfig.java | 228 ++++
.../helix/api/config/ParticipantConfig.java | 382 ++++++
.../apache/helix/api/config/ResourceConfig.java | 373 ++++++
.../helix/api/config/SchedulerTaskConfig.java | 88 ++
.../org/apache/helix/api/config/UserConfig.java | 53 +
.../java/org/apache/helix/api/id/ClusterId.java | 57 +
.../org/apache/helix/api/id/ConstraintId.java | 80 ++
.../org/apache/helix/api/id/ControllerId.java | 54 +
.../main/java/org/apache/helix/api/id/Id.java | 55 +
.../java/org/apache/helix/api/id/MessageId.java | 54 +
.../org/apache/helix/api/id/ParticipantId.java | 54 +
.../org/apache/helix/api/id/PartitionId.java | 112 ++
.../java/org/apache/helix/api/id/ProcId.java | 54 +
.../org/apache/helix/api/id/ResourceId.java | 57 +
.../java/org/apache/helix/api/id/SessionId.java | 54 +
.../org/apache/helix/api/id/SpectatorId.java | 51 +
.../apache/helix/api/id/StateModelDefId.java | 66 +
.../helix/api/id/StateModelFactoryId.java | 57 +
.../helix/controller/ExternalViewGenerator.java | 2 +-
.../controller/GenericHelixController.java | 28 +-
.../helix/controller/HelixControllerMain.java | 4 +
.../controller/rebalancer/AutoRebalancer.java | 182 ---
.../controller/rebalancer/CustomRebalancer.java | 128 +-
.../rebalancer/FallbackRebalancer.java | 185 +++
.../rebalancer/FullAutoRebalancer.java | 211 +++
.../controller/rebalancer/HelixRebalancer.java | 64 +
.../helix/controller/rebalancer/Rebalancer.java | 9 +-
.../controller/rebalancer/RebalancerRef.java | 94 ++
.../rebalancer/SemiAutoRebalancer.java | 92 +-
.../context/BasicRebalancerContext.java | 240 ++++
.../rebalancer/context/ContextSerializer.java | 37 +
.../context/CustomRebalancerContext.java | 164 +++
.../context/DefaultContextSerializer.java | 83 ++
.../context/FullAutoRebalancerContext.java | 64 +
.../context/PartitionedRebalancerContext.java | 393 ++++++
.../rebalancer/context/RebalancerConfig.java | 182 +++
.../rebalancer/context/RebalancerContext.java | 94 ++
.../context/ReplicatedRebalancerContext.java | 40 +
.../context/SemiAutoRebalancerContext.java | 178 +++
.../util/ConstraintBasedAssignment.java | 254 +++-
.../restlet/ZKPropertyTransferServer.java | 6 +-
.../restlet/ZNRecordUpdateResource.java | 47 +-
.../restlet/ZkPropertyTransferApplication.java | 4 +-
.../restlet/ZkPropertyTransferClient.java | 9 +-
.../stages/BestPossibleStateCalcStage.java | 203 ++-
.../stages/BestPossibleStateOutput.java | 59 +-
.../controller/stages/ClusterDataCache.java | 9 +-
.../stages/CompatibilityCheckStage.java | 21 +-
.../stages/CurrentStateComputationStage.java | 112 +-
.../controller/stages/CurrentStateOutput.java | 1 +
.../stages/ExternalViewComputeStage.java | 154 ++-
.../controller/stages/HealthDataCache.java | 2 -
.../stages/MessageGenerationOutput.java | 65 -
.../stages/MessageGenerationPhase.java | 207 ---
.../stages/MessageGenerationStage.java | 213 ++++
.../helix/controller/stages/MessageOutput.java | 79 ++
.../stages/MessageSelectionStage.java | 142 ++-
.../stages/MessageSelectionStageOutput.java | 59 -
.../controller/stages/MessageThrottleStage.java | 49 +-
.../stages/MessageThrottleStageOutput.java | 52 -
.../stages/PersistAssignmentStage.java | 45 +
.../controller/stages/ReadClusterDataStage.java | 49 +-
.../controller/stages/ReadHealthDataStage.java | 2 -
.../stages/RebalanceIdealStateStage.java | 80 --
.../stages/ResourceComputationStage.java | 163 +--
.../controller/stages/ResourceCurrentState.java | 273 ++++
.../stages/StatsAggregationStage.java | 4 +-
.../controller/stages/TaskAssignmentStage.java | 83 +-
.../strategy/AutoRebalanceStrategy.java | 194 ++-
.../strategy/EspressoRelayStrategy.java | 3 +-
.../helix/controller/strategy/RUSHrHash.java | 6 +-
.../helix/healthcheck/DecayAggregationType.java | 2 +-
.../DefaultHealthReportProvider.java | 1 -
.../ParticipantHealthReportCollectorImpl.java | 2 +-
.../PerformanceHealthReportProvider.java | 2 +-
.../java/org/apache/helix/healthcheck/Stat.java | 4 +-
.../healthcheck/StatHealthReportProvider.java | 4 +-
.../helix/josql/ClusterJosqlQueryProcessor.java | 2 +-
.../java/org/apache/helix/lock/HelixLock.java | 43 +
.../org/apache/helix/lock/HelixLockable.java | 36 +
.../org/apache/helix/lock/zk/LockListener.java | 39 +
.../apache/helix/lock/zk/ProtocolSupport.java | 191 +++
.../org/apache/helix/lock/zk/WriteLock.java | 294 +++++
.../org/apache/helix/lock/zk/ZKHelixLock.java | 154 +++
.../org/apache/helix/lock/zk/ZNodeName.java | 113 ++
.../helix/lock/zk/ZooKeeperOperation.java | 38 +
.../helix/manager/zk/AbstractManager.java | 693 ----------
.../java/org/apache/helix/manager/zk/Cache.java | 1 -
.../helix/manager/zk/CallbackHandler.java | 2 -
.../helix/manager/zk/ControllerManager.java | 175 ---
.../manager/zk/ControllerManagerHelper.java | 6 +-
.../manager/zk/CurStateCarryOverUpdater.java | 11 +-
.../DefaultControllerMessageHandlerFactory.java | 8 +-
...ltParticipantErrorMessageHandlerFactory.java | 12 +-
.../DefaultSchedulerMessageHandlerFactory.java | 74 +-
.../zk/DistributedControllerManager.java | 190 ---
.../manager/zk/DistributedLeaderElection.java | 20 +-
.../manager/zk/HelixConnectionAdaptor.java | 321 +++++
.../helix/manager/zk/HelixGroupCommit.java | 1 -
.../manager/zk/HelixManagerShutdownHook.java | 45 +
.../helix/manager/zk/ParticipantManager.java | 155 ---
.../manager/zk/ParticipantManagerHelper.java | 37 +-
.../helix/manager/zk/WriteThroughCache.java | 1 -
.../apache/helix/manager/zk/ZKHelixAdmin.java | 79 +-
.../helix/manager/zk/ZKHelixDataAccessor.java | 19 +-
.../apache/helix/manager/zk/ZKHelixManager.java | 1041 ++++++++-------
.../manager/zk/ZNRecordStreamingSerializer.java | 33 +-
.../helix/manager/zk/ZkAsyncCallbacks.java | 3 +-
.../helix/manager/zk/ZkBaseDataAccessor.java | 817 ++++++------
.../manager/zk/ZkCacheBaseDataAccessor.java | 55 +-
.../helix/manager/zk/ZkCallbackCache.java | 1 -
.../helix/manager/zk/ZkCallbackHandler.java | 460 +++++++
.../org/apache/helix/manager/zk/ZkClient.java | 52 +-
.../helix/manager/zk/ZkHelixAutoController.java | 133 ++
.../helix/manager/zk/ZkHelixConnection.java | 629 +++++++++
.../helix/manager/zk/ZkHelixController.java | 255 ++++
.../helix/manager/zk/ZkHelixLeaderElection.java | 179 +++
.../helix/manager/zk/ZkHelixParticipant.java | 498 ++++++++
.../helix/manager/zk/ZkStateChangeListener.java | 127 --
.../zk/serializer/JacksonPayloadSerializer.java | 1 -
.../apache/helix/messaging/AsyncCallback.java | 2 +-
.../messaging/DefaultMessagingService.java | 30 +-
.../handling/AsyncCallbackService.java | 21 +-
.../messaging/handling/BatchMessageHandler.java | 13 +-
.../messaging/handling/GroupMessageHandler.java | 3 +-
.../handling/HelixStateTransitionHandler.java | 163 +--
.../helix/messaging/handling/HelixTask.java | 43 +-
.../messaging/handling/HelixTaskExecutor.java | 48 +-
.../messaging/handling/MessageHandler.java | 2 -
.../messaging/handling/MessageTimeoutTask.java | 2 +-
.../org/apache/helix/model/AlertStatus.java | 19 +
.../java/org/apache/helix/model/Alerts.java | 19 +
.../helix/model/ClusterConfiguration.java | 109 ++
.../apache/helix/model/ClusterConstraints.java | 77 +-
.../org/apache/helix/model/CurrentState.java | 130 +-
.../org/apache/helix/model/ExternalView.java | 87 ++
.../apache/helix/model/HelixConfigScope.java | 17 +
.../java/org/apache/helix/model/IdealState.java | 397 +++++-
.../org/apache/helix/model/InstanceConfig.java | 65 +-
.../org/apache/helix/model/LiveInstance.java | 52 +-
.../java/org/apache/helix/model/Message.java | 375 +++++-
.../java/org/apache/helix/model/Partition.java | 2 +
.../helix/model/PartitionConfiguration.java | 58 +
.../java/org/apache/helix/model/Resource.java | 4 +-
.../apache/helix/model/ResourceAssignment.java | 147 ++-
.../helix/model/ResourceConfiguration.java | 115 ++
.../helix/model/StateModelDefinition.java | 203 ++-
.../java/org/apache/helix/model/Transition.java | 46 +-
.../helix/model/builder/AutoModeISBuilder.java | 66 +-
.../builder/AutoRebalanceModeISBuilder.java | 36 +-
.../builder/ClusterConstraintsBuilder.java | 19 +-
.../model/builder/ConstraintItemBuilder.java | 2 +-
.../model/builder/CurrentStateBuilder.java | 124 ++
.../model/builder/CustomModeISBuilder.java | 65 +-
.../helix/model/builder/IdealStateBuilder.java | 25 +-
.../builder/MessageConstraintItemBuilder.java | 107 ++
.../builder/ResourceAssignmentBuilder.java | 93 ++
.../builder/StateConstraintItemBuilder.java | 92 ++
.../builder/StateTransitionTableBuilder.java | 19 +-
.../util/StateModelDefinitionValidator.java | 290 +++++
.../apache/helix/monitoring/StatusDumpTask.java | 185 +++
.../helix/monitoring/ZKPathDataDumpTask.java | 8 +-
.../monitoring/mbeans/ClusterMBeanObserver.java | 7 -
.../monitoring/mbeans/ResourceMonitor.java | 20 +-
.../mbeans/StateTransitionStatMonitor.java | 1 -
.../DistClusterControllerElection.java | 2 +-
.../DistClusterControllerStateModel.java | 8 +-
.../participant/GenericLeaderStandbyModel.java | 2 +-
.../participant/HelixCustomCodeRunner.java | 14 +-
.../participant/HelixStateMachineEngine.java | 166 ++-
.../helix/participant/StateMachineEngine.java | 66 +-
.../statemachine/HelixStateModelFactory.java | 118 ++
.../HelixStateModelFactoryAdaptor.java | 36 +
.../statemachine/ScheduledTaskStateModel.java | 1 +
.../statemachine/StateModelFactory.java | 5 +-
.../apache/helix/tools/CLMLogFileAppender.java | 5 -
.../tools/ClusterExternalViewVerifier.java | 188 +++
.../helix/tools/ClusterLiveNodesVerifier.java | 45 +
.../org/apache/helix/tools/ClusterSetup.java | 10 +-
.../helix/tools/ClusterStateVerifier.java | 90 +-
.../org/apache/helix/tools/ClusterVerifier.java | 147 +++
.../apache/helix/tools/IntegrationTestUtil.java | 204 +++
.../org/apache/helix/tools/MessagePoster.java | 24 +-
.../org/apache/helix/tools/NewClusterSetup.java | 1200 ++++++++++++++++++
.../helix/tools/StateModelConfigGenerator.java | 11 +-
.../apache/helix/tools/YAMLClusterSetup.java | 35 +
.../org/apache/helix/tools/ZkLogAnalyzer.java | 9 +-
.../org/apache/helix/util/RebalanceUtil.java | 25 +-
.../org/apache/helix/util/StatusUpdateUtil.java | 61 +-
.../org/apache/helix/util/ZKClientPool.java | 1 -
.../src/test/java/org/apache/helix/Mocks.java | 9 +-
.../org/apache/helix/TestConfigAccessor.java | 1 -
.../java/org/apache/helix/TestGroupCommit.java | 4 -
.../apache/helix/TestHelixConfigAccessor.java | 2 +-
.../org/apache/helix/TestHelixTaskExecutor.java | 24 +-
.../org/apache/helix/TestHelixTaskHandler.java | 47 +-
.../apache/helix/TestHelixVersionCompare.java | 74 ++
.../test/java/org/apache/helix/TestHelper.java | 120 +-
.../apache/helix/TestHierarchicalDataStore.java | 7 +-
.../java/org/apache/helix/TestPerfCounters.java | 1 +
.../TestPerformanceHealthReportProvider.java | 2 -
.../java/org/apache/helix/TestZKCallback.java | 37 +-
.../apache/helix/TestZKRoutingInfoProvider.java | 3 +-
.../java/org/apache/helix/TestZNRecord.java | 1 -
.../apache/helix/TestZNRecordBucketizer.java | 1 -
.../test/java/org/apache/helix/TestZkBasis.java | 17 +-
.../org/apache/helix/TestZkClientWrapper.java | 46 +-
.../java/org/apache/helix/TestZnodeModify.java | 8 +-
.../org/apache/helix/ZkHelixTestManager.java | 44 -
.../java/org/apache/helix/ZkTestHelper.java | 62 +-
.../java/org/apache/helix/ZkUnitTestBase.java | 41 +-
.../org/apache/helix/alerts/TestAddAlerts.java | 4 +-
.../helix/alerts/TestAddPersistentStats.java | 3 +-
.../helix/alerts/TestAlertValidation.java | 3 -
.../alerts/TestArrivingParticipantStats.java | 4 +-
.../helix/alerts/TestBaseStatsValidation.java | 4 -
.../apache/helix/alerts/TestEvaluateAlerts.java | 5 -
.../org/apache/helix/alerts/TestOperators.java | 4 -
.../org/apache/helix/alerts/TestStatsMatch.java | 4 -
.../test/java/org/apache/helix/api/TestId.java | 109 ++
.../apache/helix/api/TestNamespacedConfig.java | 177 +++
.../org/apache/helix/api/TestNewStages.java | 250 ++++
.../org/apache/helix/api/TestUpdateConfig.java | 158 +++
.../api/accessor/TestAccessorRecreate.java | 170 +++
.../helix/api/accessor/TestAtomicAccessors.java | 200 +++
.../context/TestSerializeRebalancerContext.java | 103 ++
.../helix/controller/stages/BaseStageTest.java | 76 +-
.../controller/stages/DummyClusterManager.java | 6 +
.../TestBestPossibleCalcStageCompatibility.java | 75 +-
.../stages/TestBestPossibleStateCalcStage.java | 28 +-
.../stages/TestCompatibilityCheckStage.java | 6 +-
.../TestCurrentStateComputationStage.java | 82 +-
.../stages/TestMessageThrottleStage.java | 110 +-
.../stages/TestMsgSelectionStage.java | 117 +-
.../stages/TestParseInfoFromAlert.java | 22 +-
.../stages/TestRebalancePipeline.java | 134 +-
.../stages/TestResourceComputationStage.java | 91 +-
.../strategy/TestAutoRebalanceStrategy.java | 272 +++-
.../strategy/TestNewAutoRebalanceStrategy.java | 615 +++++++++
.../strategy/TestShufflingTwoStateStrategy.java | 68 +-
.../helix/healthcheck/TestAddDropAlert.java | 46 +-
.../healthcheck/TestAlertActionTriggering.java | 27 +-
.../helix/healthcheck/TestAlertFireHistory.java | 42 +-
.../helix/healthcheck/TestDummyAlerts.java | 16 +-
.../helix/healthcheck/TestExpandAlert.java | 51 +-
.../helix/healthcheck/TestSimpleAlert.java | 51 +-
.../healthcheck/TestSimpleWildcardAlert.java | 53 +-
.../helix/healthcheck/TestStalenessAlert.java | 47 +-
.../helix/healthcheck/TestWildcardAlert.java | 47 +-
.../helix/integration/TestAddClusterV2.java | 80 +-
.../TestAddNodeAfterControllerStart.java | 58 +-
.../TestAddStateModelFactoryAfterConnect.java | 22 +-
.../integration/TestAutoIsWithEmptyMap.java | 14 +-
.../helix/integration/TestAutoRebalance.java | 122 +-
.../TestAutoRebalancePartitionLimit.java | 130 +-
.../helix/integration/TestBatchMessage.java | 63 +-
.../integration/TestBatchMessageWrapper.java | 18 +-
.../integration/TestBucketizedResource.java | 17 +-
.../integration/TestCarryOverBadCurState.java | 19 +-
.../integration/TestCleanupExternalView.java | 38 +-
.../helix/integration/TestClusterStartsup.java | 15 +-
.../helix/integration/TestCustomIdealState.java | 12 -
.../TestCustomizedIdealStateRebalancer.java | 101 +-
.../apache/helix/integration/TestDisable.java | 38 +-
.../helix/integration/TestDisableNode.java | 2 +-
.../helix/integration/TestDisablePartition.java | 2 +-
.../integration/TestDistributedCMMain.java | 20 +-
.../TestDistributedClusterController.java | 20 +-
.../apache/helix/integration/TestDriver.java | 80 +-
.../org/apache/helix/integration/TestDrop.java | 158 ++-
.../helix/integration/TestDropResource.java | 9 +-
.../TestEnablePartitionDuringDisable.java | 35 +-
.../helix/integration/TestErrorPartition.java | 28 +-
.../integration/TestExternalViewUpdates.java | 23 +-
.../helix/integration/TestFailOverPerf1kp.java | 1 -
.../integration/TestFullAutoNodeTagging.java | 438 +++++++
.../helix/integration/TestHelixConnection.java | 173 +++
.../integration/TestHelixCustomCodeRunner.java | 46 +-
.../helix/integration/TestHelixInstanceTag.java | 3 +-
.../helix/integration/TestInstanceAutoJoin.java | 25 +-
.../integration/TestInvalidAutoIdealState.java | 21 +-
.../TestMessagePartitionStateMismatch.java | 46 +-
.../helix/integration/TestMessageThrottle.java | 24 +-
.../helix/integration/TestMessageThrottle2.java | 29 +-
.../helix/integration/TestMessagingService.java | 131 +-
.../integration/TestNonOfflineInitState.java | 28 +-
.../helix/integration/TestNullReplica.java | 15 +-
.../TestParticipantErrorMessage.java | 32 +-
.../TestParticipantNameCollision.java | 9 +-
.../helix/integration/TestPauseSignal.java | 15 +-
.../integration/TestRedefineStateModelDef.java | 161 +++
.../helix/integration/TestRenamePartition.java | 50 +-
.../helix/integration/TestResetInstance.java | 18 +-
.../integration/TestResetPartitionState.java | 30 +-
.../helix/integration/TestResetResource.java | 18 +-
.../integration/TestRestartParticipant.java | 41 +-
.../helix/integration/TestSchedulerMessage.java | 168 ++-
.../helix/integration/TestSchemataSM.java | 14 +-
.../TestSessionExpiryInTransition.java | 37 +-
.../helix/integration/TestStandAloneCMMain.java | 40 +-
.../TestStandAloneCMSessionExpiry.java | 22 +-
...estStartMultipleControllersWithSameName.java | 9 +-
.../integration/TestStateTransitionTimeout.java | 57 +-
.../helix/integration/TestSwapInstance.java | 16 +-
.../TestUserDefRebalancerCompatibility.java | 104 ++
.../integration/TestZkCallbackHandlerLeak.java | 95 +-
.../helix/integration/TestZkReconnect.java | 10 +-
.../integration/ZkIntegrationTestBase.java | 55 +-
.../integration/ZkStandAloneCMTestBase.java | 63 +-
...dAloneCMTestBaseWithPropertyServerCheck.java | 25 +-
.../manager/ClusterControllerManager.java | 17 +-
.../manager/ClusterDistributedController.java | 20 +-
.../manager/MockParticipantManager.java | 8 +-
.../manager/TestConsecutiveZkSessionExpiry.java | 1 -
.../TestDistributedControllerManager.java | 9 +-
.../manager/TestParticipantManager.java | 30 +-
.../apache/helix/josql/TestJosqlProcessor.java | 9 +-
.../apache/helix/lock/zk/TestZKHelixLock.java | 127 ++
.../TestDefaultControllerMsgHandlerFactory.java | 19 +-
.../helix/manager/zk/TestHandleNewSession.java | 17 +-
.../manager/zk/TestLiveInstanceBounce.java | 22 +-
.../zk/TestWtCacheAsyncOpMultiThread.java | 2 -
.../zk/TestWtCacheAsyncOpSingleThread.java | 2 -
.../zk/TestWtCacheSyncOpSingleThread.java | 2 -
.../manager/zk/TestZKLiveInstanceData.java | 2 -
.../zk/TestZKPropertyTransferServer.java | 20 +-
.../helix/manager/zk/TestZNRecordSizeLimit.java | 25 +-
.../zk/TestZNRecordStreamingSerializer.java | 92 ++
.../manager/zk/TestZkBaseDataAccessor.java | 3 -
.../zk/TestZkCacheAsyncOpSingleThread.java | 4 -
.../zk/TestZkCacheSyncOpSingleThread.java | 5 -
.../helix/manager/zk/TestZkClusterManager.java | 19 +-
.../apache/helix/manager/zk/TestZkFlapping.java | 293 +++++
.../helix/manager/zk/TestZkHelixAdmin.java | 20 +-
.../manager/zk/TestZkHelixAutoController.java | 120 ++
.../helix/manager/zk/TestZkHelixController.java | 160 +++
.../manager/zk/TestZkHelixParticipant.java | 103 ++
.../zk/TestZkManagerFlappingDetection.java | 117 +-
.../manager/zk/TestZkStateChangeListener.java | 56 +-
.../helix/messaging/TestAsyncCallback.java | 10 +-
.../helix/messaging/TestAsyncCallbackSvc.java | 50 +-
.../messaging/TestDefaultMessagingService.java | 4 +-
.../handling/TestConfigThreadpoolSize.java | 14 +-
.../handling/TestHelixTaskExecutor.java | 89 +-
.../handling/TestResourceThreadpoolSize.java | 12 +-
.../mock/controller/ClusterController.java | 129 --
.../helix/mock/controller/MockController.java | 22 +-
.../mock/controller/MockControllerProcess.java | 17 +-
.../helix/mock/participant/DummyProcess.java | 7 +-
.../helix/mock/participant/ErrTransition.java | 10 +-
.../MockHealthReportParticipant.java | 16 +-
.../mock/participant/MockMSModelFactory.java | 2 -
.../mock/participant/MockMSStateModel.java | 13 +
.../helix/mock/participant/MockParticipant.java | 197 ---
.../StoreAccessDiffNodeTransition.java | 4 +-
.../StoreAccessOneNodeTransition.java | 5 +-
.../org/apache/helix/model/TestConstraint.java | 17 +-
.../org/apache/helix/model/TestIdealState.java | 34 +-
.../helix/model/TestStateModelValidity.java | 252 ++++
.../monitoring/TestParticipantMonitor.java | 3 -
.../helix/monitoring/TestStatCollector.java | 4 +-
.../TestClusterAlertItemMBeanCollection.java | 4 -
.../monitoring/mbeans/TestResourceMonitor.java | 3 +-
.../helix/participant/MockZKHelixManager.java | 6 +
.../participant/TestDistControllerElection.java | 3 +-
.../TestDistControllerStateModel.java | 34 +-
.../TestDistControllerStateModelFactory.java | 3 -
.../apache/helix/store/TestJsonComparator.java | 1 -
.../store/zk/TestZkHelixPropertyStore.java | 1 -
.../apache/helix/tools/TestClusterSetup.java | 7 +-
.../apache/helix/tools/TestHelixAdminCli.java | 194 +--
.../org/apache/helix/util/TestZKClientPool.java | 1 -
helix-examples/pom.xml | 6 +-
.../apache/helix/examples/BootstrapHandler.java | 7 +-
.../apache/helix/examples/BootstrapProcess.java | 7 +-
.../apache/helix/examples/DummyParticipant.java | 25 +-
.../apache/helix/examples/ExampleProcess.java | 14 +-
.../helix/examples/IdealStateExample.java | 5 +-
.../helix/examples/LogicalModelExample.java | 297 +++++
.../examples/MasterSlaveStateModelFactory.java | 17 +-
.../org/apache/helix/examples/Quickstart.java | 20 +-
hpost-review.sh | 15 +
pom.xml | 132 +-
recipes/auto-scale/pom.xml | 2 +-
.../autoscale/impl/yarn/YarnMasterProcess.java | 194 ++-
.../autoscale/impl/yarn/YarnMasterService.java | 998 +++++++++------
recipes/distributed-lock-manager/pom.xml | 2 +-
.../apache/helix/lockmanager/LockFactory.java | 9 +-
.../helix/lockmanager/LockManagerDemo.java | 7 +-
.../apache/helix/lockmanager/LockProcess.java | 5 +-
recipes/pom.xml | 2 +-
recipes/rabbitmq-consumer-group/pom.xml | 2 +-
.../apache/helix/recipes/rabbitmq/Consumer.java | 5 +-
.../rabbitmq/ConsumerStateModelFactory.java | 10 +-
.../recipes/rabbitmq/SetupConsumerCluster.java | 5 +-
recipes/rsync-replicated-file-system/pom.xml | 2 +-
.../helix/filestore/ChangeLogGenerator.java | 2 -
.../helix/filestore/ChangeLogProcessor.java | 6 -
.../apache/helix/filestore/ChangeLogReader.java | 2 -
.../org/apache/helix/filestore/FileStore.java | 9 +-
.../helix/filestore/FileStoreStateModel.java | 38 +-
.../filestore/FileStoreStateModelFactory.java | 10 +-
.../apache/helix/filestore/SetupCluster.java | 5 +-
.../java/org/apache/helix/filestore/Test.java | 3 -
recipes/service-discovery/pom.xml | 2 +-
.../servicediscovery/ServiceDiscovery.java | 1 -
recipes/task-execution/pom.xml | 4 +-
.../helix/taskexecution/TaskStateModel.java | 17 +-
.../taskexecution/TaskStateModelFactory.java | 10 +-
.../org/apache/helix/taskexecution/Worker.java | 4 +-
recipes/user-defined-rebalancer/pom.xml | 2 +-
.../helix/userdefinedrebalancer/Lock.java | 5 +
.../userdefinedrebalancer/LockFactory.java | 10 +-
.../LockManagerRebalancer.java | 63 +-
.../userdefinedrebalancer/LockProcess.java | 5 +-
site-releases/0.6.1-incubating/pom.xml | 51 +
.../src/site/apt/privacy-policy.apt | 52 +
.../releasenotes/release-0.6.1-incubating.apt | 110 ++
.../0.6.1-incubating/src/site/apt/releasing.apt | 107 ++
.../src/site/markdown/Architecture.md | 248 ++++
.../src/site/markdown/Building.md | 46 +
.../src/site/markdown/Concepts.md | 268 ++++
.../src/site/markdown/Features.md | 306 +++++
.../src/site/markdown/Quickstart.md | 622 +++++++++
.../src/site/markdown/Tutorial.md | 199 +++
.../src/site/markdown/UseCases.md | 109 ++
.../0.6.1-incubating/src/site/markdown/index.md | 54 +
.../src/site/markdown/recipes/lock_manager.md | 253 ++++
.../markdown/recipes/rabbitmq_consumer_group.md | 227 ++++
.../recipes/rsync_replicated_file_store.md | 165 +++
.../site/markdown/recipes/service_discovery.md | 191 +++
.../site/markdown/recipes/task_dag_execution.md | 204 +++
.../src/site/markdown/tutorial_admin.md | 167 +++
.../src/site/markdown/tutorial_controller.md | 90 ++
.../src/site/markdown/tutorial_health.md | 42 +
.../src/site/markdown/tutorial_messaging.md | 67 +
.../src/site/markdown/tutorial_participant.md | 100 ++
.../src/site/markdown/tutorial_propstore.md | 30 +
.../src/site/markdown/tutorial_rebalance.md | 168 +++
.../src/site/markdown/tutorial_spectator.md | 72 ++
.../src/site/markdown/tutorial_state.md | 60 +
.../src/site/markdown/tutorial_throttling.md | 34 +
.../src/site/resources/.htaccess | 20 +
.../src/site/resources/download.cgi | 22 +
.../site/resources/images/HELIX-components.png | Bin 0 -> 82112 bytes
.../src/site/resources/images/PFS-Generic.png | Bin 0 -> 72435 bytes
.../site/resources/images/RSYNC_BASED_PFS.png | Bin 0 -> 78007 bytes
.../resources/images/bootstrap_statemodel.gif | Bin 0 -> 24919 bytes
.../resources/images/helix-architecture.png | Bin 0 -> 282390 bytes
.../src/site/resources/images/helix-logo.jpg | Bin 0 -> 13659 bytes
.../resources/images/helix-znode-layout.png | Bin 0 -> 53074 bytes
.../src/site/resources/images/statemachine.png | Bin 0 -> 41641 bytes
.../src/site/resources/images/system.png | Bin 0 -> 79791 bytes
.../0.6.1-incubating/src/site/site.xml | 119 ++
.../src/site/xdoc/download.xml.vm | 193 +++
.../0.6.1-incubating/src/test/conf/testng.xml | 27 +
site-releases/0.6.2-incubating/pom.xml | 51 +
.../src/site/apt/privacy-policy.apt | 52 +
.../releasenotes/release-0.6.2-incubating.apt | 181 +++
.../0.6.2-incubating/src/site/apt/releasing.apt | 107 ++
.../src/site/markdown/Architecture.md | 252 ++++
.../src/site/markdown/Building.md | 46 +
.../src/site/markdown/Concepts.md | 275 ++++
.../src/site/markdown/Features.md | 313 +++++
.../src/site/markdown/Quickstart.md | 626 +++++++++
.../src/site/markdown/Tutorial.md | 205 +++
.../0.6.2-incubating/src/site/markdown/index.md | 58 +
.../src/site/markdown/recipes/lock_manager.md | 253 ++++
.../markdown/recipes/rabbitmq_consumer_group.md | 227 ++++
.../recipes/rsync_replicated_file_store.md | 165 +++
.../site/markdown/recipes/service_discovery.md | 191 +++
.../site/markdown/recipes/task_dag_execution.md | 204 +++
.../src/site/markdown/tutorial_admin.md | 407 ++++++
.../src/site/markdown/tutorial_controller.md | 94 ++
.../src/site/markdown/tutorial_health.md | 46 +
.../src/site/markdown/tutorial_messaging.md | 71 ++
.../src/site/markdown/tutorial_participant.md | 105 ++
.../src/site/markdown/tutorial_propstore.md | 34 +
.../src/site/markdown/tutorial_rebalance.md | 181 +++
.../src/site/markdown/tutorial_spectator.md | 76 ++
.../src/site/markdown/tutorial_state.md | 131 ++
.../src/site/markdown/tutorial_throttling.md | 38 +
.../markdown/tutorial_user_def_rebalancer.md | 172 +++
.../src/site/markdown/tutorial_yaml.md | 102 ++
.../src/site/resources/.htaccess | 20 +
.../src/site/resources/download.cgi | 22 +
.../site/resources/images/HELIX-components.png | Bin 0 -> 82112 bytes
.../src/site/resources/images/PFS-Generic.png | Bin 0 -> 72435 bytes
.../site/resources/images/RSYNC_BASED_PFS.png | Bin 0 -> 78007 bytes
.../resources/images/bootstrap_statemodel.gif | Bin 0 -> 24919 bytes
.../resources/images/helix-architecture.png | Bin 0 -> 282390 bytes
.../src/site/resources/images/helix-logo.jpg | Bin 0 -> 13659 bytes
.../resources/images/helix-znode-layout.png | Bin 0 -> 53074 bytes
.../src/site/resources/images/statemachine.png | Bin 0 -> 41641 bytes
.../src/site/resources/images/system.png | Bin 0 -> 79791 bytes
.../0.6.2-incubating/src/site/site.xml | 119 ++
.../src/site/xdoc/download.xml.vm | 193 +++
.../0.6.2-incubating/src/test/conf/testng.xml | 27 +
site-releases/0.7.0-incubating/pom.xml | 51 +
.../src/site/apt/privacy-policy.apt | 52 +
.../releasenotes/release-0.7.0-incubating.apt | 174 +++
.../0.7.0-incubating/src/site/apt/releasing.apt | 107 ++
.../src/site/markdown/Architecture.md | 252 ++++
.../src/site/markdown/Building.md | 46 +
.../src/site/markdown/Concepts.md | 275 ++++
.../src/site/markdown/Features.md | 313 +++++
.../src/site/markdown/Quickstart.md | 626 +++++++++
.../src/site/markdown/Tutorial.md | 284 +++++
.../src/site/markdown/UseCases.md | 113 ++
.../0.7.0-incubating/src/site/markdown/index.md | 60 +
.../src/site/markdown/recipes/lock_manager.md | 253 ++++
.../markdown/recipes/rabbitmq_consumer_group.md | 227 ++++
.../recipes/rsync_replicated_file_store.md | 165 +++
.../site/markdown/recipes/service_discovery.md | 191 +++
.../site/markdown/recipes/task_dag_execution.md | 204 +++
.../markdown/recipes/user_def_rebalancer.md | 285 +++++
.../src/site/markdown/tutorial_accessors.md | 125 ++
.../src/site/markdown/tutorial_admin.md | 407 ++++++
.../src/site/markdown/tutorial_controller.md | 79 ++
.../src/site/markdown/tutorial_health.md | 46 +
.../src/site/markdown/tutorial_messaging.md | 71 ++
.../src/site/markdown/tutorial_participant.md | 97 ++
.../src/site/markdown/tutorial_propstore.md | 34 +
.../src/site/markdown/tutorial_rebalance.md | 181 +++
.../src/site/markdown/tutorial_spectator.md | 76 ++
.../src/site/markdown/tutorial_state.md | 131 ++
.../src/site/markdown/tutorial_throttling.md | 38 +
.../markdown/tutorial_user_def_rebalancer.md | 227 ++++
.../src/site/markdown/tutorial_yaml.md | 102 ++
.../src/site/resources/.htaccess | 20 +
.../src/site/resources/download.cgi | 22 +
.../site/resources/images/HELIX-components.png | Bin 0 -> 82112 bytes
.../src/site/resources/images/PFS-Generic.png | Bin 0 -> 72435 bytes
.../site/resources/images/RSYNC_BASED_PFS.png | Bin 0 -> 78007 bytes
.../resources/images/bootstrap_statemodel.gif | Bin 0 -> 24919 bytes
.../resources/images/helix-architecture.png | Bin 0 -> 282390 bytes
.../src/site/resources/images/helix-logo.jpg | Bin 0 -> 13659 bytes
.../resources/images/helix-znode-layout.png | Bin 0 -> 53074 bytes
.../src/site/resources/images/statemachine.png | Bin 0 -> 41641 bytes
.../src/site/resources/images/system.png | Bin 0 -> 79791 bytes
.../0.7.0-incubating/src/site/site.xml | 120 ++
.../src/site/xdoc/download.xml.vm | 193 +++
.../0.7.0-incubating/src/test/conf/testng.xml | 27 +
site-releases/pom.xml | 50 +
site-releases/trunk/pom.xml | 51 +
.../trunk/src/site/apt/privacy-policy.apt | 52 +
site-releases/trunk/src/site/apt/releasing.apt | 107 ++
.../trunk/src/site/markdown/Architecture.md | 252 ++++
.../trunk/src/site/markdown/Building.md | 29 +
.../trunk/src/site/markdown/Concepts.md | 275 ++++
.../trunk/src/site/markdown/Features.md | 313 +++++
.../trunk/src/site/markdown/Quickstart.md | 621 +++++++++
.../trunk/src/site/markdown/Tutorial.md | 284 +++++
.../trunk/src/site/markdown/UseCases.md | 113 ++
site-releases/trunk/src/site/markdown/index.md | 56 +
.../src/site/markdown/recipes/lock_manager.md | 253 ++++
.../markdown/recipes/rabbitmq_consumer_group.md | 227 ++++
.../recipes/rsync_replicated_file_store.md | 165 +++
.../site/markdown/recipes/service_discovery.md | 191 +++
.../site/markdown/recipes/task_dag_execution.md | 204 +++
.../markdown/recipes/user_def_rebalancer.md | 285 +++++
.../src/site/markdown/tutorial_accessors.md | 125 ++
.../trunk/src/site/markdown/tutorial_admin.md | 407 ++++++
.../src/site/markdown/tutorial_controller.md | 79 ++
.../trunk/src/site/markdown/tutorial_health.md | 46 +
.../src/site/markdown/tutorial_messaging.md | 71 ++
.../src/site/markdown/tutorial_participant.md | 97 ++
.../src/site/markdown/tutorial_propstore.md | 34 +
.../src/site/markdown/tutorial_rebalance.md | 181 +++
.../src/site/markdown/tutorial_spectator.md | 76 ++
.../trunk/src/site/markdown/tutorial_state.md | 131 ++
.../src/site/markdown/tutorial_throttling.md | 38 +
.../markdown/tutorial_user_def_rebalancer.md | 227 ++++
.../trunk/src/site/markdown/tutorial_yaml.md | 102 ++
.../trunk/src/site/resources/.htaccess | 20 +
.../trunk/src/site/resources/download.cgi | 22 +
.../site/resources/images/HELIX-components.png | Bin 0 -> 82112 bytes
.../src/site/resources/images/PFS-Generic.png | Bin 0 -> 72435 bytes
.../site/resources/images/RSYNC_BASED_PFS.png | Bin 0 -> 78007 bytes
.../resources/images/bootstrap_statemodel.gif | Bin 0 -> 24919 bytes
.../resources/images/helix-architecture.png | Bin 0 -> 282390 bytes
.../src/site/resources/images/helix-logo.jpg | Bin 0 -> 13659 bytes
.../resources/images/helix-znode-layout.png | Bin 0 -> 53074 bytes
.../src/site/resources/images/statemachine.png | Bin 0 -> 41641 bytes
.../trunk/src/site/resources/images/system.png | Bin 0 -> 79791 bytes
site-releases/trunk/src/site/site.xml | 118 ++
.../trunk/src/site/xdoc/download.xml.vm | 193 +++
site-releases/trunk/src/test/conf/testng.xml | 27 +
.../releasenotes/release-0.6.2-incubating.apt | 181 +++
.../releasenotes/release-0.7.0-incubating.apt | 174 +++
src/site/apt/releasing.apt | 55 +-
src/site/markdown/Architecture.md | 5 +
src/site/markdown/Concepts.md | 9 +-
src/site/markdown/Features.md | 306 -----
src/site/markdown/IRC.md | 33 +
src/site/markdown/Publications.md | 37 +
src/site/markdown/Quickstart.md | 622 ---------
src/site/markdown/Tutorial.md | 201 ---
src/site/markdown/UseCases.md | 4 +
src/site/markdown/index.md | 91 +-
src/site/markdown/involved/building.md | 6 +-
src/site/markdown/recipes/lock_manager.md | 253 ----
.../markdown/recipes/rabbitmq_consumer_group.md | 227 ----
.../recipes/rsync_replicated_file_store.md | 165 ---
src/site/markdown/recipes/service_discovery.md | 191 ---
src/site/markdown/recipes/task_dag_execution.md | 204 ---
.../markdown/recipes/user_def_rebalancer.md | 287 -----
src/site/markdown/tutorial_admin.md | 403 ------
src/site/markdown/tutorial_controller.md | 90 --
src/site/markdown/tutorial_health.md | 42 -
src/site/markdown/tutorial_messaging.md | 67 -
src/site/markdown/tutorial_participant.md | 101 --
src/site/markdown/tutorial_propstore.md | 30 -
src/site/markdown/tutorial_rebalance.md | 177 ---
src/site/markdown/tutorial_spectator.md | 72 --
src/site/markdown/tutorial_state.md | 60 -
src/site/markdown/tutorial_throttling.md | 34 -
.../markdown/tutorial_user_def_rebalancer.md | 196 ---
src/site/markdown/tutorial_yaml.md | 98 --
src/site/resources/.htaccess | 3 +
src/site/resources/images/PFS-Generic.png | Bin 72435 -> 0 bytes
src/site/resources/images/RSYNC_BASED_PFS.png | Bin 78007 -> 0 bytes
src/site/site.xml | 38 +-
src/site/xdoc/download.xml.vm | 2 +-
711 files changed, 51795 insertions(+), 12947 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/helix-core/src/main/java/org/apache/helix/ZNRecord.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateOutput.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/helix-core/src/main/java/org/apache/helix/model/CurrentState.java
----------------------------------------------------------------------
diff --cc helix-core/src/main/java/org/apache/helix/model/CurrentState.java
index 47bccb9,5c9bcbc..25af858
--- a/helix-core/src/main/java/org/apache/helix/model/CurrentState.java
+++ b/helix-core/src/main/java/org/apache/helix/model/CurrentState.java
@@@ -117,25 -169,16 +171,34 @@@ public class CurrentState extends Helix
return null;
}
+ public String getInfo(String partitionName) {
+ Map<String, Map<String, String>> mapFields = _record.getMapFields();
+ Map<String, String> mapField = mapFields.get(partitionName);
+ if (mapField != null) {
+ return mapField.get(CurrentStateProperty.INFO.name());
+ }
+ return null;
+ }
+
+ public String getRequestedState(String partitionName) {
+ Map<String, Map<String, String>> mapFields = _record.getMapFields();
+ Map<String, String> mapField = mapFields.get(partitionName);
+ if (mapField != null) {
+ return mapField.get(CurrentStateProperty.REQUESTED_STATE.name());
+ }
+ return null;
+ }
+
/**
+ * Get the state of a partition on this instance
+ * @param partitionId partition id
+ * @return State
+ */
+ public State getState(PartitionId partitionId) {
+ return State.from(getState(partitionId.stringify()));
+ }
+
+ /**
* Set the state model that the resource follows
* @param stateModelName an identifier of the state model
*/
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/helix-core/src/main/java/org/apache/helix/tools/ClusterSetup.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/helix-core/src/main/java/org/apache/helix/tools/StateModelConfigGenerator.java
----------------------------------------------------------------------
diff --cc helix-core/src/main/java/org/apache/helix/tools/StateModelConfigGenerator.java
index b8b3aeb,8127626..6324b80
--- a/helix-core/src/main/java/org/apache/helix/tools/StateModelConfigGenerator.java
+++ b/helix-core/src/main/java/org/apache/helix/tools/StateModelConfigGenerator.java
@@@ -23,7 -23,9 +23,8 @@@ import java.util.ArrayList
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-
import org.apache.helix.ZNRecord;
+ import org.apache.helix.api.State;
import org.apache.helix.manager.zk.DefaultSchedulerMessageHandlerFactory;
import org.apache.helix.manager.zk.ZNRecordSerializer;
import org.apache.helix.model.StateModelDefinition.StateModelDefinitionProperty;
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/helix-core/src/test/java/org/apache/helix/integration/ZkIntegrationTestBase.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/recipes/auto-scale/pom.xml
----------------------------------------------------------------------
diff --cc recipes/auto-scale/pom.xml
index 0482d3d,0000000..7da0adc
mode 100644,000000..100644
--- a/recipes/auto-scale/pom.xml
+++ b/recipes/auto-scale/pom.xml
@@@ -1,210 -1,0 +1,210 @@@
+<?xml version="1.0" encoding="UTF-8" ?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.helix.recipes</groupId>
+ <artifactId>recipes</artifactId>
- <version>0.6.2-incubating-SNAPSHOT</version>
++ <version>0.7.1-incubating-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>auto-scale</artifactId>
+ <packaging>jar</packaging>
+ <name>Apache Helix :: Recipes :: Auto-Scale</name>
+
+ <properties>
+ <hadoop.version>2.2.0</hadoop.version>
+
+ <ut.groups>unit</ut.groups>
+ <it.groups>local, shell</it.groups>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>6.0.1</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.helix</groupId>
+ <artifactId>helix-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.jms</groupId>
+ <artifactId>jms</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.jdmk</groupId>
+ <artifactId>jmxtools</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.sun.jmx</groupId>
+ <artifactId>jmxri</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>14.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-client</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-yarn-api</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-yarn-common</artifactId>
+ <version>${hadoop.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>appassembler-maven-plugin</artifactId>
+ <configuration>
+ <configurationDirectory>conf</configurationDirectory>
+ <copyConfigurationDirectory>true</copyConfigurationDirectory>
+ <includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
+ <assembleDirectory>${project.build.directory}/metamanager-pkg</assembleDirectory>
+ <extraJvmArguments>-Xms512m -Xmx512m</extraJvmArguments>
+ <platforms>
+ <platform>unix</platform>
+ </platforms>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>assemble</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes combine.children="append">
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>appassembler-maven-plugin</artifactId>
+ <configuration>
+ <programs>
+ <program>
+ <mainClass>org.apache.helix.autoscale.bootstrapper.Boot</mainClass>
+ <name>boot</name>
+ </program>
+ <program>
+ <mainClass>org.apache.helix.autoscale.impl.shell.ShellContainerProcess</mainClass>
+ <name>shell-container-process</name>
+ </program>
+ <program>
+ <mainClass>org.apache.helix.autoscale.impl.yarn.YarnMasterProcess</mainClass>
+ <name>yarn-master-process</name>
+ </program>
+ <program>
+ <mainClass>org.apache.helix.autoscale.impl.yarn.YarnContainerProcess</mainClass>
+ <name>yarn-container-process</name>
+ </program>
+ <program>
+ <mainClass>org.apache.helix.autoscale.ZookeeperSetter</mainClass>
+ <name>zookeeper-setter</name>
+ </program>
+ </programs>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <finalName>metamanager</finalName>
+ <descriptor>src/main/assembly/assembly.xml</descriptor>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <groups>${ut.groups}</groups>
+ <excludedGroups>integration</excludedGroups>
+ <suiteXmlFiles>
+ <suiteXmlFile>src/test/config/testng.xml</suiteXmlFile>
+ </suiteXmlFiles>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <groups>${it.groups}</groups>
+ <excludedGroups>unit</excludedGroups>
+ <suiteXmlFiles>
+ <suiteXmlFile>src/test/config/testng.xml</suiteXmlFile>
+ </suiteXmlFiles>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>yarn</id>
+ <properties>
+ <it.groups>yarn</it.groups>
+ </properties>
+ </profile>
+ </profiles>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-helix/blob/6dece848/recipes/auto-scale/src/main/java/org/apache/helix/autoscale/impl/yarn/YarnMasterProcess.java
----------------------------------------------------------------------
diff --cc recipes/auto-scale/src/main/java/org/apache/helix/autoscale/impl/yarn/YarnMasterProcess.java
index 25b73f5,0000000..deb4761
mode 100644,000000..100644
--- a/recipes/auto-scale/src/main/java/org/apache/helix/autoscale/impl/yarn/YarnMasterProcess.java
+++ b/recipes/auto-scale/src/main/java/org/apache/helix/autoscale/impl/yarn/YarnMasterProcess.java
@@@ -1,144 -1,0 +1,104 @@@
+package org.apache.helix.autoscale.impl.yarn;
+
- import java.net.InetSocketAddress;
++import java.io.IOException;
+import java.util.Map;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.net.NetUtils;
- import org.apache.hadoop.yarn.api.AMRMProtocol;
- import org.apache.hadoop.yarn.api.ApplicationConstants;
- import org.apache.hadoop.yarn.api.protocolrecords.FinishApplicationMasterRequest;
- import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest;
++import org.apache.hadoop.yarn.api.ApplicationConstants.Environment;
++import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterResponse;
+import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
++import org.apache.hadoop.yarn.client.api.AMRMClient.ContainerRequest;
++import org.apache.hadoop.yarn.client.api.async.AMRMClientAsync;
++import org.apache.hadoop.yarn.client.api.async.NMClientAsync;
++import org.apache.hadoop.yarn.client.api.async.impl.NMClientAsyncImpl;
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
- import org.apache.hadoop.yarn.ipc.YarnRPC;
++import org.apache.hadoop.yarn.exceptions.YarnException;
+import org.apache.hadoop.yarn.util.ConverterUtils;
- import org.apache.hadoop.yarn.util.Records;
+import org.apache.helix.autoscale.provider.ProviderProcess;
+import org.apache.log4j.Logger;
+
+/**
+ * Host process for {@link YarnContainerProviderProcess}. Hasts application
+ * master in YARN and provider participant to Helix meta cluster. (Program entry
+ * point)
+ *
+ */
+class YarnMasterProcess {
+
- static final Logger log = Logger.getLogger(YarnMasterProcess.class);
-
- public static void main(String[] args) throws Exception {
- log.trace("BEGIN YarnMaster.main()");
-
- final ApplicationAttemptId appAttemptId = getApplicationAttemptId();
- log.info(String.format("Got application attempt id '%s'", appAttemptId.toString()));
-
- log.debug("Reading master properties");
- YarnMasterProperties properties = YarnUtils.createMasterProperties(YarnUtils.getPropertiesFromPath(YarnUtils.YARN_MASTER_PROPERTIES));
-
- if (!properties.isValid())
- throw new IllegalArgumentException(String.format("master properties not valid: %s", properties.toString()));
-
- log.debug("Connecting to resource manager");
- Configuration conf = new YarnConfiguration();
- conf.set(YarnConfiguration.RM_ADDRESS, properties.getResourceManager());
- conf.set(YarnConfiguration.RM_SCHEDULER_ADDRESS, properties.getScheduler());
- conf.set(FileSystem.FS_DEFAULT_NAME_KEY, properties.getHdfs());
-
- final AMRMProtocol resourceManager = getResourceManager(conf);
-
- // register the AM with the RM
- log.debug("Registering application master");
- RegisterApplicationMasterRequest appMasterRequest = Records.newRecord(RegisterApplicationMasterRequest.class);
- appMasterRequest.setApplicationAttemptId(appAttemptId);
- appMasterRequest.setHost("");
- appMasterRequest.setRpcPort(0);
- appMasterRequest.setTrackingUrl("");
-
- resourceManager.registerApplicationMaster(appMasterRequest);
-
- log.debug("Starting yarndata service");
- final ZookeeperYarnDataProvider yarnDataService = new ZookeeperYarnDataProvider(properties.getYarnData());
- yarnDataService.start();
-
- log.debug("Starting yarn master service");
- final YarnMasterService service = new YarnMasterService();
- service.configure(properties);
- service.setAttemptId(appAttemptId);
- service.setYarnDataProvider(yarnDataService);
- service.setProtocol(resourceManager);
- service.setYarnConfiguration(conf);
- service.start();
-
- log.debug("Starting provider");
- final YarnContainerProvider provider = new YarnContainerProvider();
- provider.configure(properties);
- provider.start();
-
- log.debug("Starting provider process");
- final ProviderProcess process = new ProviderProcess();
- process.configure(properties);
- process.setConteinerProvider(provider);
- process.start();
-
- log.debug("Installing shutdown hooks");
- Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
- @Override
- public void run() {
- log.debug("Stopping provider process");
- process.stop();
-
- log.debug("Stopping provider");
- try { provider.stop(); } catch (Exception ignore) {}
-
- log.debug("Stopping yarn master service");
- service.stop();
-
- log.debug("Stopping yarndata service");
- yarnDataService.stop();
-
- // finish application
- log.debug("Sending finish request");
- FinishApplicationMasterRequest finishReq = Records.newRecord(FinishApplicationMasterRequest.class);
-
- finishReq.setAppAttemptId(getApplicationAttemptId());
- finishReq.setFinishApplicationStatus(FinalApplicationStatus.SUCCEEDED);
-
- try { resourceManager.finishApplicationMaster(finishReq); } catch(Exception ignore) {}
- }
- }));
-
++ static final Logger log = Logger.getLogger(YarnMasterProcess.class);
++
++ public static void main(String[] args) throws Exception {
++ log.trace("BEGIN YarnMaster.main()");
++
++ log.debug("Reading master properties");
++ YarnMasterProperties properties = YarnUtils
++ .createMasterProperties(YarnUtils
++ .getPropertiesFromPath(YarnUtils.YARN_MASTER_PROPERTIES));
++
++ if (!properties.isValid())
++ throw new IllegalArgumentException(String.format(
++ "master properties not valid: %s", properties.toString()));
++
++
++ log.debug("Starting yarndata service");
++ final ZookeeperYarnDataProvider yarnDataService = new ZookeeperYarnDataProvider(
++ properties.getYarnData());
++ yarnDataService.start();
++
++ log.debug("Starting yarn master service");
++ final YarnMasterService service = new YarnMasterService();
++ service.configure(properties);
++ service.setYarnDataProvider(yarnDataService);
++ service.start();
++
++ log.debug("Starting provider");
++ final YarnContainerProvider provider = new YarnContainerProvider();
++ provider.configure(properties);
++ provider.start();
++
++ log.debug("Starting provider process");
++ final ProviderProcess process = new ProviderProcess();
++ process.configure(properties);
++ process.setConteinerProvider(provider);
++ process.start();
++
++ log.debug("Installing shutdown hooks");
++ Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
++ @Override
++ public void run() {
++ log.debug("Stopping provider process");
++ process.stop();
++
++ log.debug("Stopping provider");
++ try {
++ provider.stop();
++ } catch (Exception ignore) {
++ }
++
++ log.debug("Stopping yarn master service");
++ service.stop();
++
++ log.debug("Stopping yarndata service");
++ yarnDataService.stop();
++ }
++ }));
++
+ log.trace("END YarnMaster.main()");
+ }
-
- static AMRMProtocol getResourceManager(Configuration conf) {
- // Connect to the Scheduler of the ResourceManager.
- YarnConfiguration yarnConf = new YarnConfiguration(conf);
- YarnRPC rpc = YarnRPC.create(yarnConf);
- InetSocketAddress rmAddress = NetUtils.createSocketAddr(yarnConf.get(YarnConfiguration.RM_SCHEDULER_ADDRESS,
- YarnConfiguration.DEFAULT_RM_SCHEDULER_ADDRESS));
- log.info("Connecting to ResourceManager at " + rmAddress);
- AMRMProtocol resourceManager = (AMRMProtocol) rpc.getProxy(AMRMProtocol.class, rmAddress, conf);
- return resourceManager;
- }
-
- static ApplicationAttemptId getApplicationAttemptId() {
- ContainerId containerId = ConverterUtils.toContainerId(getEnv(ApplicationConstants.AM_CONTAINER_ID_ENV));
- ApplicationAttemptId appAttemptID = containerId.getApplicationAttemptId();
- return appAttemptID;
- }
-
- static String getEnv(String key) {
- Map<String, String> envs = System.getenv();
- String clusterName = envs.get(key);
- if (clusterName == null) {
- // container id should always be set in the env by the framework
- throw new IllegalArgumentException(String.format("%s not set in the environment", key));
- }
- return clusterName;
- }
++
++ static String getEnv(String key) {
++ Map<String, String> envs = System.getenv();
++ String clusterName = envs.get(key);
++ if (clusterName == null) {
++ // container id should always be set in the env by the framework
++ throw new IllegalArgumentException(String.format(
++ "%s not set in the environment", key));
++ }
++ return clusterName;
++ }
+
+}