This is an automated email from the ASF dual-hosted git repository.

jxue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git

commit 4dedd7e4caf0cda5064ca8649d82246a0fa69a8c
Author: Harry Zhang <[email protected]>
AuthorDate: Wed Nov 28 13:35:02 2018 -0800

    Create specific package for data providers
---
 .../java/org/apache/helix/controller/GenericHelixController.java    | 4 +++-
 .../controller/{ => dataproviders}/BaseControllerDataProvider.java  | 3 ++-
 .../{ => dataproviders}/ResourceControllerDataProvider.java         | 3 ++-
 .../{ => dataproviders}/WorkflowControllerDataProvider.java         | 3 ++-
 .../org/apache/helix/controller/rebalancer/AbstractRebalancer.java  | 4 ++--
 .../java/org/apache/helix/controller/rebalancer/AutoRebalancer.java | 3 +--
 .../org/apache/helix/controller/rebalancer/CustomRebalancer.java    | 2 +-
 .../apache/helix/controller/rebalancer/DelayedAutoRebalancer.java   | 2 +-
 .../apache/helix/controller/rebalancer/MaintenanceRebalancer.java   | 2 +-
 .../java/org/apache/helix/controller/rebalancer/Rebalancer.java     | 2 +-
 .../org/apache/helix/controller/rebalancer/SemiAutoRebalancer.java  | 2 +-
 .../helix/controller/rebalancer/internal/MappingCalculator.java     | 2 +-
 .../strategy/AbstractEvenDistributionRebalanceStrategy.java         | 2 +-
 .../helix/controller/rebalancer/strategy/AutoRebalanceStrategy.java | 2 +-
 .../controller/rebalancer/strategy/ConstraintRebalanceStrategy.java | 2 +-
 .../controller/rebalancer/strategy/CrushEdRebalanceStrategy.java    | 2 +-
 .../controller/rebalancer/strategy/CrushRebalanceStrategy.java      | 2 +-
 .../rebalancer/strategy/MultiRoundCrushRebalanceStrategy.java       | 2 +-
 .../helix/controller/rebalancer/strategy/RebalanceStrategy.java     | 3 +--
 .../apache/helix/controller/stages/BestPossibleStateCalcStage.java  | 2 +-
 .../org/apache/helix/controller/stages/CompatibilityCheckStage.java | 2 +-
 .../helix/controller/stages/CurrentStateComputationStage.java       | 2 +-
 .../apache/helix/controller/stages/ExternalViewComputeStage.java    | 2 +-
 .../apache/helix/controller/stages/IntermediateStateCalcStage.java  | 2 +-
 .../org/apache/helix/controller/stages/MessageDispatchStage.java    | 4 ++--
 .../org/apache/helix/controller/stages/MessageGenerationPhase.java  | 4 ++--
 .../org/apache/helix/controller/stages/MessageSelectionStage.java   | 2 +-
 .../org/apache/helix/controller/stages/MessageThrottleStage.java    | 2 +-
 .../org/apache/helix/controller/stages/PersistAssignmentStage.java  | 2 +-
 .../org/apache/helix/controller/stages/ReadClusterDataStage.java    | 6 +++---
 .../apache/helix/controller/stages/ResourceComputationStage.java    | 4 ++--
 .../org/apache/helix/controller/stages/ResourceValidationStage.java | 2 +-
 .../apache/helix/controller/stages/TargetExteralViewCalcStage.java  | 2 +-
 .../apache/helix/controller/stages/TaskGarbageCollectionStage.java  | 2 +-
 .../apache/helix/controller/stages/TopStateHandoffReportStage.java  | 6 +++---
 .../apache/helix/controller/stages/task/TaskPersistDataStage.java   | 2 +-
 .../apache/helix/controller/stages/task/TaskSchedulingStage.java    | 2 +-
 .../org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java    | 2 +-
 .../src/main/java/org/apache/helix/task/AbstractTaskDispatcher.java | 2 +-
 .../main/java/org/apache/helix/task/DeprecatedTaskRebalancer.java   | 3 +--
 .../main/java/org/apache/helix/task/FixedTargetTaskRebalancer.java  | 2 +-
 .../src/main/java/org/apache/helix/task/GenericTaskRebalancer.java  | 2 +-
 helix-core/src/main/java/org/apache/helix/task/JobDispatcher.java   | 2 +-
 helix-core/src/main/java/org/apache/helix/task/JobRebalancer.java   | 2 +-
 helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java  | 2 +-
 .../src/main/java/org/apache/helix/task/WorkflowDispatcher.java     | 2 +-
 .../src/main/java/org/apache/helix/task/WorkflowRebalancer.java     | 2 +-
 .../java/org/apache/helix/tools/ClusterExternalViewVerifier.java    | 2 +-
 .../src/main/java/org/apache/helix/tools/ClusterStateVerifier.java  | 2 +-
 .../tools/ClusterVerifiers/BestPossibleExternalViewVerifier.java    | 2 +-
 .../tools/ClusterVerifiers/StrictMatchExternalViewVerifier.java     | 2 +-
 helix-core/src/main/java/org/apache/helix/util/HelixUtil.java       | 2 +-
 .../main/java/org/apache/helix/util/WeightAwareRebalanceUtil.java   | 2 +-
 .../TestWorkflowControllerDataProvider.java                         | 4 ++--
 .../helix/controller/rebalancer/TestAutoRebalanceStrategy.java      | 2 +-
 .../rebalancer/TestAutoRebalanceStrategyImbalanceAssignment.java    | 2 +-
 .../controller/rebalancer/TestConstraintRebalanceStrategy.java      | 2 +-
 .../controller/stages/TestBestPossibleCalcStageCompatibility.java   | 2 +-
 .../helix/controller/stages/TestBestPossibleStateCalcStage.java     | 2 +-
 .../apache/helix/controller/stages/TestCompatibilityCheckStage.java | 2 +-
 .../helix/controller/stages/TestCurrentStateComputationStage.java   | 2 +-
 .../org/apache/helix/controller/stages/TestExternalViewStage.java   | 2 +-
 .../helix/controller/stages/TestIntermediateStateCalcStage.java     | 2 +-
 .../apache/helix/controller/stages/TestMessageThrottleStage.java    | 2 +-
 .../stages/TestQuotaConstraintSkipWorkflowAssignment.java           | 2 +-
 .../org/apache/helix/controller/stages/TestRebalancePipeline.java   | 2 +-
 .../org/apache/helix/controller/stages/TestRecoveryLoadBalance.java | 2 +-
 .../helix/controller/stages/TestResourceComputationStage.java       | 2 +-
 .../apache/helix/controller/stages/TestResourceValidationStage.java | 2 +-
 .../helix/controller/stages/TestStateTransitionPrirority.java       | 2 +-
 .../test/java/org/apache/helix/controller/stages/TestTaskStage.java | 2 +-
 .../org/apache/helix/integration/TestPersistAssignmentStage.java    | 2 +-
 .../controller/TestControllerDataProviderSelectiveUpdate.java       | 2 +-
 .../helix/integration/controller/TestRedundantDroppedMessage.java   | 2 +-
 .../integration/controller/TestSkipBestPossibleCalculation.java     | 2 +-
 .../org/apache/helix/integration/manager/TestHelixDataAccessor.java | 2 +-
 .../apache/helix/integration/messaging/TestP2PMessageSemiAuto.java  | 2 +-
 .../helix/integration/messaging/TestP2PNoDuplicatedMessage.java     | 2 +-
 .../org/apache/helix/integration/rebalancer/TestAutoRebalance.java  | 2 +-
 .../integration/rebalancer/TestAutoRebalancePartitionLimit.java     | 2 +-
 .../integration/rebalancer/TestCustomizedIdealStateRebalancer.java  | 2 +-
 .../test/java/org/apache/helix/integration/task/TaskTestUtil.java   | 4 +---
 .../messaging/p2pMessage/TestP2PMessagesAvoidDuplicatedMessage.java | 2 +-
 .../helix/messaging/p2pMessage/TestP2PStateTransitionMessages.java  | 2 +-
 .../org/apache/helix/monitoring/mbeans/TestRebalancerMetrics.java   | 2 +-
 .../apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java  | 2 +-
 .../src/test/java/org/apache/helix/task/TestCleanExpiredJobs.java   | 2 +-
 .../src/test/java/org/apache/helix/task/TestJobStateOnCreation.java | 2 +-
 .../src/test/java/org/apache/helix/task/TestScheduleDelayJobs.java  | 2 +-
 89 files changed, 103 insertions(+), 103 deletions(-)

diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java
 
b/helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java
index 2daaeef..ea8c086 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java
@@ -50,6 +50,9 @@ import org.apache.helix.api.listeners.PreFetch;
 import org.apache.helix.api.listeners.ResourceConfigChangeListener;
 import org.apache.helix.common.ClusterEventBlockingQueue;
 import org.apache.helix.common.DedupEventProcessor;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AsyncWorkerType;
 import org.apache.helix.controller.pipeline.Pipeline;
 import org.apache.helix.controller.pipeline.PipelineRegistry;
@@ -87,7 +90,6 @@ import org.apache.helix.model.PauseSignal;
 import org.apache.helix.model.ResourceConfig;
 import org.apache.helix.monitoring.mbeans.ClusterEventMonitor;
 import org.apache.helix.monitoring.mbeans.ClusterStatusMonitor;
-import org.apache.helix.task.TaskDriver;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/BaseControllerDataProvider.java
 
b/helix-core/src/main/java/org/apache/helix/controller/dataproviders/BaseControllerDataProvider.java
similarity index 99%
rename from 
helix-core/src/main/java/org/apache/helix/controller/BaseControllerDataProvider.java
rename to 
helix-core/src/main/java/org/apache/helix/controller/dataproviders/BaseControllerDataProvider.java
index 5cea9f5..a1cf763 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/BaseControllerDataProvider.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/dataproviders/BaseControllerDataProvider.java
@@ -1,4 +1,4 @@
-package org.apache.helix.controller;
+package org.apache.helix.controller.dataproviders;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -39,6 +39,7 @@ import org.apache.helix.common.caches.CurrentStateCache;
 import org.apache.helix.common.caches.InstanceMessagesCache;
 import org.apache.helix.common.caches.PropertyCache;
 import org.apache.helix.common.controllers.ControlContextProvider;
+import org.apache.helix.controller.LogUtil;
 import org.apache.helix.model.ClusterConfig;
 import org.apache.helix.model.ClusterConstraints;
 import org.apache.helix.model.CurrentState;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/ResourceControllerDataProvider.java
 
b/helix-core/src/main/java/org/apache/helix/controller/dataproviders/ResourceControllerDataProvider.java
similarity index 98%
rename from 
helix-core/src/main/java/org/apache/helix/controller/ResourceControllerDataProvider.java
rename to 
helix-core/src/main/java/org/apache/helix/controller/dataproviders/ResourceControllerDataProvider.java
index a9c42b6..f29cca3 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/ResourceControllerDataProvider.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/dataproviders/ResourceControllerDataProvider.java
@@ -1,4 +1,4 @@
-package org.apache.helix.controller;
+package org.apache.helix.controller.dataproviders;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -29,6 +29,7 @@ import org.apache.helix.PropertyKey;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.common.caches.AbstractDataCache;
 import org.apache.helix.common.caches.PropertyCache;
+import org.apache.helix.controller.LogUtil;
 import org.apache.helix.controller.stages.MissingTopStateRecord;
 import org.apache.helix.model.ExternalView;
 import org.apache.helix.model.ResourceAssignment;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/WorkflowControllerDataProvider.java
 
b/helix-core/src/main/java/org/apache/helix/controller/dataproviders/WorkflowControllerDataProvider.java
similarity index 98%
rename from 
helix-core/src/main/java/org/apache/helix/controller/WorkflowControllerDataProvider.java
rename to 
helix-core/src/main/java/org/apache/helix/controller/dataproviders/WorkflowControllerDataProvider.java
index c275a65..ddb99fa 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/WorkflowControllerDataProvider.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/dataproviders/WorkflowControllerDataProvider.java
@@ -1,4 +1,4 @@
-package org.apache.helix.controller;
+package org.apache.helix.controller.dataproviders;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -27,6 +27,7 @@ import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.common.caches.AbstractDataCache;
 import org.apache.helix.common.caches.TaskDataCache;
+import org.apache.helix.controller.LogUtil;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.LiveInstance;
 import org.apache.helix.task.AssignableInstanceManager;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AbstractRebalancer.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AbstractRebalancer.java
index 0423b63..6f93543 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AbstractRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AbstractRebalancer.java
@@ -32,8 +32,8 @@ import org.apache.helix.HelixDefinedState;
 import org.apache.helix.HelixException;
 import org.apache.helix.HelixManager;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.BaseControllerDataProvider;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.rebalancer.internal.MappingCalculator;
 import org.apache.helix.controller.rebalancer.strategy.AutoRebalanceStrategy;
 import org.apache.helix.controller.rebalancer.strategy.RebalanceStrategy;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AutoRebalancer.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AutoRebalancer.java
index a649520..c0b6f26 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AutoRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/AutoRebalancer.java
@@ -29,8 +29,7 @@ import java.util.Set;
 
 import org.apache.helix.HelixException;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.BaseControllerDataProvider;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.IdealState.RebalanceMode;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/CustomRebalancer.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/CustomRebalancer.java
index 57fc434..273786b 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/CustomRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/CustomRebalancer.java
@@ -23,7 +23,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 import org.apache.helix.HelixDefinedState;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.LiveInstance;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/DelayedAutoRebalancer.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/DelayedAutoRebalancer.java
index f68e0ed..7dd9128 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/DelayedAutoRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/DelayedAutoRebalancer.java
@@ -31,7 +31,7 @@ import java.util.Set;
 import org.apache.helix.HelixDefinedState;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.api.config.StateTransitionThrottleConfig;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.rebalancer.util.RebalanceScheduler;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.ClusterConfig;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/MaintenanceRebalancer.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/MaintenanceRebalancer.java
index 39c2d94..7b0c997 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/MaintenanceRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/MaintenanceRebalancer.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.Partition;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/Rebalancer.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/Rebalancer.java
index 1bd36be..8c4d4e6 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/Rebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/Rebalancer.java
@@ -20,7 +20,7 @@ package org.apache.helix.controller.rebalancer;
  */
 
 import org.apache.helix.HelixManager;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/SemiAutoRebalancer.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/SemiAutoRebalancer.java
index 6eb2265..95ed620 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/SemiAutoRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/SemiAutoRebalancer.java
@@ -19,7 +19,7 @@ package org.apache.helix.controller.rebalancer;
  * under the License.
  */
 
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/internal/MappingCalculator.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/internal/MappingCalculator.java
index dab0416..cb4751c 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/internal/MappingCalculator.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/internal/MappingCalculator.java
@@ -19,7 +19,7 @@ package org.apache.helix.controller.rebalancer.internal;
  * under the License.
  */
 
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.Resource;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AbstractEvenDistributionRebalanceStrategy.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AbstractEvenDistributionRebalanceStrategy.java
index 8857531..6445ef3 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AbstractEvenDistributionRebalanceStrategy.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AbstractEvenDistributionRebalanceStrategy.java
@@ -32,7 +32,7 @@ import java.util.concurrent.ExecutionException;
 import org.apache.helix.HelixException;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import 
org.apache.helix.controller.rebalancer.strategy.crushMapping.CardDealingAdjustmentAlgorithmV2;
 import 
org.apache.helix.controller.rebalancer.strategy.crushMapping.ConsistentHashingAdjustmentAlgorithm;
 import org.apache.helix.controller.rebalancer.topology.InstanceNode;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AutoRebalanceStrategy.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AutoRebalanceStrategy.java
index 68f1165..bd7e46a 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AutoRebalanceStrategy.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/AutoRebalanceStrategy.java
@@ -35,7 +35,7 @@ import java.util.TreeSet;
 
 import org.apache.helix.HelixManager;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/ConstraintRebalanceStrategy.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/ConstraintRebalanceStrategy.java
index fee06c5..683518e 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/ConstraintRebalanceStrategy.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/ConstraintRebalanceStrategy.java
@@ -33,7 +33,7 @@ import 
org.apache.helix.api.rebalancer.constraint.AbstractRebalanceSoftConstrain
 import 
org.apache.helix.api.rebalancer.constraint.dataprovider.CapacityProvider;
 import 
org.apache.helix.api.rebalancer.constraint.dataprovider.PartitionWeightProvider;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.ResourcesStateMap;
 import 
org.apache.helix.controller.rebalancer.constraint.PartitionWeightAwareEvennessConstraint;
 import 
org.apache.helix.controller.rebalancer.strategy.crushMapping.CardDealingAdjustmentAlgorithmV2;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushEdRebalanceStrategy.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushEdRebalanceStrategy.java
index 684ea4d..56d1f09 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushEdRebalanceStrategy.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushEdRebalanceStrategy.java
@@ -19,7 +19,7 @@ package org.apache.helix.controller.rebalancer.strategy;
  * under the License.
  */
 
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 
 /**
  * CRUSH-ed, CRUSH with even distribution. This is an Auto rebalance strategy 
based on CRUSH algorithm.
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushRebalanceStrategy.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushRebalanceStrategy.java
index fbe7dad..cd6dde2 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushRebalanceStrategy.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/CrushRebalanceStrategy.java
@@ -32,7 +32,7 @@ import com.google.common.base.Predicates;
 import org.apache.helix.HelixException;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import 
org.apache.helix.controller.rebalancer.strategy.crushMapping.CRUSHPlacementAlgorithm;
 import org.apache.helix.controller.rebalancer.topology.InstanceNode;
 import org.apache.helix.controller.rebalancer.topology.Node;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/MultiRoundCrushRebalanceStrategy.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/MultiRoundCrushRebalanceStrategy.java
index 0987b36..04b084b 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/MultiRoundCrushRebalanceStrategy.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/MultiRoundCrushRebalanceStrategy.java
@@ -33,7 +33,7 @@ import com.google.common.base.Predicates;
 import org.apache.helix.HelixException;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import 
org.apache.helix.controller.rebalancer.strategy.crushMapping.CRUSHPlacementAlgorithm;
 import org.apache.helix.controller.rebalancer.topology.InstanceNode;
 import org.apache.helix.controller.rebalancer.topology.Node;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/RebalanceStrategy.java
 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/RebalanceStrategy.java
index 4925014..337dc89 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/RebalanceStrategy.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/strategy/RebalanceStrategy.java
@@ -23,8 +23,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.BaseControllerDataProvider;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 
 /**
  * Assignment strategy interface that computes the assignment of 
partition->instance.
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java
index bc81bad..a81d617 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/BestPossibleStateCalcStage.java
@@ -27,7 +27,7 @@ import java.util.concurrent.Callable;
 import org.apache.helix.HelixException;
 import org.apache.helix.HelixManager;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.controller.rebalancer.AutoRebalancer;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java
index aa627b6..b6a0560 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/CompatibilityCheckStage.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import org.apache.helix.HelixManager;
 import org.apache.helix.HelixManagerProperties;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java
index 02629dd..72d3688 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateComputationStage.java
@@ -22,7 +22,7 @@ package org.apache.helix.controller.stages;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
index d0993f6..82695f1 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
@@ -39,7 +39,7 @@ import org.apache.helix.ZNRecord;
 import org.apache.helix.ZNRecordDelta;
 import org.apache.helix.ZNRecordDelta.MergeOperation;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractAsyncBaseStage;
 import org.apache.helix.controller.pipeline.AsyncWorkerType;
 import org.apache.helix.controller.pipeline.StageException;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
index a255c24..cda7e62 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
@@ -34,7 +34,7 @@ import org.apache.helix.HelixManager;
 import org.apache.helix.api.config.StateTransitionThrottleConfig;
 import org.apache.helix.api.config.StateTransitionThrottleConfig.RebalanceType;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageDispatchStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageDispatchStage.java
index 5bb88c5..4252e8d 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageDispatchStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageDispatchStage.java
@@ -31,9 +31,9 @@ import org.apache.helix.HelixManager;
 import org.apache.helix.HelixManagerProperties;
 import org.apache.helix.PropertyKey;
 import org.apache.helix.PropertyKey.Builder;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.model.LiveInstance;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java
index 4cc0833..d266c7d 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageGenerationPhase.java
@@ -33,9 +33,9 @@ import org.apache.helix.HelixException;
 import org.apache.helix.HelixManager;
 import org.apache.helix.SystemPropertyKeys;
 import org.apache.helix.api.config.StateTransitionTimeoutConfig;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.ResourcesStateMap;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java
index cf60eed..73c8901 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageSelectionStage.java
@@ -30,7 +30,7 @@ import java.util.TreeMap;
 
 import org.apache.helix.HelixException;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.model.IdealState;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java
index b37e3fe..4a7b321 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/MessageThrottleStage.java
@@ -27,7 +27,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.model.ClusterConstraints;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java
index aea65b9..12a0b23 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/PersistAssignmentStage.java
@@ -33,7 +33,7 @@ import org.apache.helix.HelixManager;
 import org.apache.helix.PropertyKey;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.pipeline.AbstractAsyncBaseStage;
 import org.apache.helix.controller.pipeline.AsyncWorkerType;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java
index 983fb25..d9f3428 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ReadClusterDataStage.java
@@ -27,10 +27,10 @@ import java.util.Set;
 import java.util.concurrent.Callable;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixManager;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.model.ClusterConfig;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
index 0c15cd1..5785117 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceComputationStage.java
@@ -22,9 +22,9 @@ package org.apache.helix.controller.stages;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.model.ClusterConfig;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java
index 08cdbba..44a92df 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ResourceValidationStage.java
@@ -21,7 +21,7 @@ package org.apache.helix.controller.stages;
 
 import java.util.Map;
 
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/TargetExteralViewCalcStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/TargetExteralViewCalcStage.java
index ca90b99..7a7c2e6 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/TargetExteralViewCalcStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/TargetExteralViewCalcStage.java
@@ -27,7 +27,7 @@ import org.apache.helix.AccessOption;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixManager;
 import org.apache.helix.PropertyKey;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.pipeline.AbstractAsyncBaseStage;
 import org.apache.helix.controller.pipeline.AsyncWorkerType;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/TaskGarbageCollectionStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/TaskGarbageCollectionStage.java
index d5681c1..e701f65 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/TaskGarbageCollectionStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/TaskGarbageCollectionStage.java
@@ -3,7 +3,7 @@ package org.apache.helix.controller.stages;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.helix.HelixManager;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractAsyncBaseStage;
 import org.apache.helix.controller.pipeline.AsyncWorkerType;
 import org.apache.helix.controller.rebalancer.util.RebalanceScheduler;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/TopStateHandoffReportStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/TopStateHandoffReportStage.java
index 543e839..c03d23a 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/TopStateHandoffReportStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/TopStateHandoffReportStage.java
@@ -21,10 +21,10 @@ package org.apache.helix.controller.stages;
 
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.helix.controller.BaseControllerDataProvider;
+import org.apache.helix.controller.dataproviders.BaseControllerDataProvider;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.ResourceControllerDataProvider;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.model.CurrentState;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskPersistDataStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskPersistDataStage.java
index d3c0dd7..f68d007 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskPersistDataStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskPersistDataStage.java
@@ -1,7 +1,7 @@
 package org.apache.helix.controller.stages.task;
 
 import org.apache.helix.HelixManager;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.stages.AttributeName;
 import org.apache.helix.controller.stages.ClusterEvent;
diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskSchedulingStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskSchedulingStage.java
index dda333c..bbc2a2f 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskSchedulingStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/task/TaskSchedulingStage.java
@@ -11,7 +11,7 @@ import java.util.Set;
 import org.apache.helix.HelixConstants;
 import org.apache.helix.HelixManager;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AbstractBaseStage;
 import org.apache.helix.controller.pipeline.StageException;
 import org.apache.helix.controller.rebalancer.Rebalancer;
diff --git 
a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java
 
b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java
index 4489d58..4616f9e 100644
--- 
a/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java
+++ 
b/helix-core/src/main/java/org/apache/helix/monitoring/mbeans/ClusterStatusMonitor.java
@@ -39,7 +39,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import com.google.common.base.Joiner;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.BestPossibleStateOutput;
 import org.apache.helix.model.ExternalView;
 import org.apache.helix.model.IdealState;
diff --git 
a/helix-core/src/main/java/org/apache/helix/task/AbstractTaskDispatcher.java 
b/helix-core/src/main/java/org/apache/helix/task/AbstractTaskDispatcher.java
index d071ba3..6fe5f7b 100644
--- a/helix-core/src/main/java/org/apache/helix/task/AbstractTaskDispatcher.java
+++ b/helix-core/src/main/java/org/apache/helix/task/AbstractTaskDispatcher.java
@@ -14,7 +14,7 @@ import java.util.TreeSet;
 import org.apache.helix.HelixDefinedState;
 import org.apache.helix.HelixManager;
 import org.apache.helix.common.caches.TaskDataCache;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.rebalancer.util.RebalanceScheduler;
 import org.apache.helix.controller.stages.BestPossibleStateOutput;
 import org.apache.helix.controller.stages.CurrentStateOutput;
diff --git 
a/helix-core/src/main/java/org/apache/helix/task/DeprecatedTaskRebalancer.java 
b/helix-core/src/main/java/org/apache/helix/task/DeprecatedTaskRebalancer.java
index c94bb4a..74a8c25 100644
--- 
a/helix-core/src/main/java/org/apache/helix/task/DeprecatedTaskRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/task/DeprecatedTaskRebalancer.java
@@ -51,8 +51,7 @@ import org.apache.helix.HelixManager;
 import org.apache.helix.HelixProperty;
 import org.apache.helix.PropertyKey;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.rebalancer.Rebalancer;
 import org.apache.helix.controller.rebalancer.internal.MappingCalculator;
 import org.apache.helix.controller.rebalancer.util.RebalanceScheduler;
diff --git 
a/helix-core/src/main/java/org/apache/helix/task/FixedTargetTaskRebalancer.java 
b/helix-core/src/main/java/org/apache/helix/task/FixedTargetTaskRebalancer.java
index 1784f70..5a4183f 100644
--- 
a/helix-core/src/main/java/org/apache/helix/task/FixedTargetTaskRebalancer.java
+++ 
b/helix-core/src/main/java/org/apache/helix/task/FixedTargetTaskRebalancer.java
@@ -24,7 +24,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
 
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.ResourceAssignment;
 /**
diff --git 
a/helix-core/src/main/java/org/apache/helix/task/GenericTaskRebalancer.java 
b/helix-core/src/main/java/org/apache/helix/task/GenericTaskRebalancer.java
index a48bbb0..1637558 100644
--- a/helix-core/src/main/java/org/apache/helix/task/GenericTaskRebalancer.java
+++ b/helix-core/src/main/java/org/apache/helix/task/GenericTaskRebalancer.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
 
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.ResourceAssignment;
 
diff --git a/helix-core/src/main/java/org/apache/helix/task/JobDispatcher.java 
b/helix-core/src/main/java/org/apache/helix/task/JobDispatcher.java
index c74a40f..59a37ba 100644
--- a/helix-core/src/main/java/org/apache/helix/task/JobDispatcher.java
+++ b/helix-core/src/main/java/org/apache/helix/task/JobDispatcher.java
@@ -13,7 +13,7 @@ import java.util.TreeMap;
 import java.util.TreeSet;
 import org.apache.helix.AccessOption;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.Message;
 import org.apache.helix.model.Partition;
diff --git a/helix-core/src/main/java/org/apache/helix/task/JobRebalancer.java 
b/helix-core/src/main/java/org/apache/helix/task/JobRebalancer.java
index 05a0e02..0acf825 100644
--- a/helix-core/src/main/java/org/apache/helix/task/JobRebalancer.java
+++ b/helix-core/src/main/java/org/apache/helix/task/JobRebalancer.java
@@ -19,7 +19,7 @@ package org.apache.helix.task;
  * under the License.
  */
 
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.Resource;
diff --git a/helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java 
b/helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java
index c84bb1e..765b175 100644
--- a/helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java
+++ b/helix-core/src/main/java/org/apache/helix/task/TaskRebalancer.java
@@ -20,7 +20,7 @@ package org.apache.helix.task;
  */
 
 import org.apache.helix.HelixManager;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.rebalancer.Rebalancer;
 import org.apache.helix.controller.rebalancer.internal.MappingCalculator;
 import org.apache.helix.controller.stages.CurrentStateOutput;
diff --git 
a/helix-core/src/main/java/org/apache/helix/task/WorkflowDispatcher.java 
b/helix-core/src/main/java/org/apache/helix/task/WorkflowDispatcher.java
index d324de2..bb25ef1 100644
--- a/helix-core/src/main/java/org/apache/helix/task/WorkflowDispatcher.java
+++ b/helix-core/src/main/java/org/apache/helix/task/WorkflowDispatcher.java
@@ -20,7 +20,7 @@ import org.apache.helix.PropertyKey;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.common.caches.TaskDataCache;
 import org.apache.helix.controller.LogUtil;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.BestPossibleStateOutput;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
diff --git 
a/helix-core/src/main/java/org/apache/helix/task/WorkflowRebalancer.java 
b/helix-core/src/main/java/org/apache/helix/task/WorkflowRebalancer.java
index 09ba281..d0c4381 100644
--- a/helix-core/src/main/java/org/apache/helix/task/WorkflowRebalancer.java
+++ b/helix-core/src/main/java/org/apache/helix/task/WorkflowRebalancer.java
@@ -22,7 +22,7 @@ package org.apache.helix.task;
 
 import java.util.HashMap;
 import org.apache.helix.controller.stages.BestPossibleStateOutput;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.Resource;
diff --git 
a/helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java
 
b/helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java
index f064311..43e98f4 100644
--- 
a/helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java
+++ 
b/helix-core/src/main/java/org/apache/helix/tools/ClusterExternalViewVerifier.java
@@ -24,7 +24,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.Stage;
 import org.apache.helix.controller.pipeline.StageContext;
 import org.apache.helix.controller.stages.AttributeName;
diff --git 
a/helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java 
b/helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java
index 85bd49f..3ebba04 100644
--- a/helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java
+++ b/helix-core/src/main/java/org/apache/helix/tools/ClusterStateVerifier.java
@@ -46,7 +46,7 @@ import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.PropertyPathBuilder;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.api.listeners.PreFetch;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.Stage;
 import org.apache.helix.controller.pipeline.StageContext;
 import org.apache.helix.controller.stages.AttributeName;
diff --git 
a/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/BestPossibleExternalViewVerifier.java
 
b/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/BestPossibleExternalViewVerifier.java
index 18a0081..898bd63 100644
--- 
a/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/BestPossibleExternalViewVerifier.java
+++ 
b/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/BestPossibleExternalViewVerifier.java
@@ -21,7 +21,7 @@ package org.apache.helix.tools.ClusterVerifiers;
 
 import org.apache.helix.HelixDefinedState;
 import org.apache.helix.PropertyKey;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.pipeline.Stage;
 import org.apache.helix.controller.pipeline.StageContext;
diff --git 
a/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/StrictMatchExternalViewVerifier.java
 
b/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/StrictMatchExternalViewVerifier.java
index fd5afb8..85f0397 100644
--- 
a/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/StrictMatchExternalViewVerifier.java
+++ 
b/helix-core/src/main/java/org/apache/helix/tools/ClusterVerifiers/StrictMatchExternalViewVerifier.java
@@ -31,7 +31,7 @@ import java.util.Set;
 import org.apache.helix.ConfigAccessor;
 import org.apache.helix.HelixException;
 import org.apache.helix.PropertyKey;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.rebalancer.AbstractRebalancer;
 import org.apache.helix.manager.zk.ZkClient;
 import org.apache.helix.manager.zk.client.HelixZkClient;
diff --git a/helix-core/src/main/java/org/apache/helix/util/HelixUtil.java 
b/helix-core/src/main/java/org/apache/helix/util/HelixUtil.java
index 0975213..dafe08d 100644
--- a/helix-core/src/main/java/org/apache/helix/util/HelixUtil.java
+++ b/helix-core/src/main/java/org/apache/helix/util/HelixUtil.java
@@ -30,7 +30,7 @@ import java.util.Set;
 import java.util.TreeMap;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.PropertyType;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.rebalancer.AbstractRebalancer;
 import org.apache.helix.controller.rebalancer.strategy.RebalanceStrategy;
 import org.apache.helix.model.BuiltInStateModelDefinitions;
diff --git 
a/helix-core/src/main/java/org/apache/helix/util/WeightAwareRebalanceUtil.java 
b/helix-core/src/main/java/org/apache/helix/util/WeightAwareRebalanceUtil.java
index 097603b..0df2014 100644
--- 
a/helix-core/src/main/java/org/apache/helix/util/WeightAwareRebalanceUtil.java
+++ 
b/helix-core/src/main/java/org/apache/helix/util/WeightAwareRebalanceUtil.java
@@ -5,7 +5,7 @@ import org.apache.helix.ZNRecord;
 import org.apache.helix.api.config.RebalanceConfig;
 import 
org.apache.helix.api.rebalancer.constraint.AbstractRebalanceHardConstraint;
 import 
org.apache.helix.api.rebalancer.constraint.AbstractRebalanceSoftConstraint;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.common.ResourcesStateMap;
 import 
org.apache.helix.controller.rebalancer.strategy.ConstraintRebalanceStrategy;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestWorkflowControllerDataProvider.java
 
b/helix-core/src/test/java/org/apache/helix/controller/dataproviders/TestWorkflowControllerDataProvider.java
similarity index 95%
rename from 
helix-core/src/test/java/org/apache/helix/controller/stages/TestWorkflowControllerDataProvider.java
rename to 
helix-core/src/test/java/org/apache/helix/controller/dataproviders/TestWorkflowControllerDataProvider.java
index ddc1702..3cd6823 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestWorkflowControllerDataProvider.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/dataproviders/TestWorkflowControllerDataProvider.java
@@ -1,4 +1,4 @@
-package org.apache.helix.controller.stages;
+package org.apache.helix.controller.dataproviders;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -20,7 +20,7 @@ package org.apache.helix.controller.stages;
  */
 
 import org.apache.helix.TestHelper;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.integration.task.TaskTestBase;
 import org.apache.helix.integration.task.WorkflowGenerator;
 import org.apache.helix.task.JobConfig;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategy.java
 
b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategy.java
index 2fddf4b..48c1a0c 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategy.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategy.java
@@ -41,7 +41,7 @@ import org.apache.helix.HelixDefinedState;
 import org.apache.helix.MockAccessor;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.rebalancer.strategy.AutoRebalanceStrategy;
 import org.apache.helix.controller.rebalancer.strategy.RebalanceStrategy;
 import org.apache.helix.controller.stages.CurrentStateOutput;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategyImbalanceAssignment.java
 
b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategyImbalanceAssignment.java
index 4898740..f26b9c2 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategyImbalanceAssignment.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestAutoRebalanceStrategyImbalanceAssignment.java
@@ -25,7 +25,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.rebalancer.strategy.AutoRebalanceStrategy;
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestConstraintRebalanceStrategy.java
 
b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestConstraintRebalanceStrategy.java
index 1de9562..cb4bb75 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestConstraintRebalanceStrategy.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/rebalancer/TestConstraintRebalanceStrategy.java
@@ -33,7 +33,7 @@ import 
org.apache.helix.api.rebalancer.constraint.AbstractRebalanceHardConstrain
 import 
org.apache.helix.api.rebalancer.constraint.AbstractRebalanceSoftConstraint;
 import 
org.apache.helix.api.rebalancer.constraint.dataprovider.CapacityProvider;
 import 
org.apache.helix.api.rebalancer.constraint.dataprovider.PartitionWeightProvider;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import 
org.apache.helix.controller.rebalancer.constraint.PartitionWeightAwareEvennessConstraint;
 import 
org.apache.helix.controller.rebalancer.constraint.TotalCapacityConstraint;
 import 
org.apache.helix.controller.rebalancer.constraint.dataprovider.MockCapacityProvider;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleCalcStageCompatibility.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleCalcStageCompatibility.java
index b54cab6..e8883b6 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleCalcStageCompatibility.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleCalcStageCompatibility.java
@@ -25,7 +25,7 @@ import java.util.List;
 import java.util.Map;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.IdealState.IdealStateModeProperty;
 import org.apache.helix.model.Partition;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleStateCalcStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleStateCalcStage.java
index 183a4bc..3fe45c5 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleStateCalcStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestBestPossibleStateCalcStage.java
@@ -21,7 +21,7 @@ package org.apache.helix.controller.stages;
 
 import java.util.Date;
 import java.util.Map;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.model.BuiltInStateModelDefinitions;
 import org.apache.helix.model.IdealState.RebalanceMode;
 import org.apache.helix.model.Partition;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestCompatibilityCheckStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestCompatibilityCheckStage.java
index 7eed021..bf4b4f9 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestCompatibilityCheckStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestCompatibilityCheckStage.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
 import java.util.List;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.StageContext;
 import org.apache.helix.mock.MockManager;
 import org.apache.helix.model.IdealState;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestCurrentStateComputationStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestCurrentStateComputationStage.java
index b2ccaed..67661c9 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestCurrentStateComputationStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestCurrentStateComputationStage.java
@@ -22,7 +22,7 @@ package org.apache.helix.controller.stages;
 import java.util.Map;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.model.CurrentState;
 import org.apache.helix.model.Message;
 import org.apache.helix.model.Partition;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestExternalViewStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestExternalViewStage.java
index 20a3d65..dabb720 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestExternalViewStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestExternalViewStage.java
@@ -6,7 +6,7 @@ import org.apache.helix.HelixManager;
 import org.apache.helix.TestHelper;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.ZkUnitTestBase;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.Pipeline;
 import org.apache.helix.manager.zk.ZKHelixDataAccessor;
 import org.apache.helix.manager.zk.ZkBaseDataAccessor;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestIntermediateStateCalcStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestIntermediateStateCalcStage.java
index 48d17ec..bb7ed98 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestIntermediateStateCalcStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestIntermediateStateCalcStage.java
@@ -26,7 +26,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.helix.api.config.StateTransitionThrottleConfig;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.model.ClusterConfig;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.Partition;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestMessageThrottleStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestMessageThrottleStage.java
index 82f28cc..58b2fc0 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestMessageThrottleStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestMessageThrottleStage.java
@@ -30,7 +30,7 @@ import org.apache.helix.HelixManager;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.ZkUnitTestBase;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.Pipeline;
 import org.apache.helix.manager.zk.ZKHelixDataAccessor;
 import org.apache.helix.manager.zk.ZkBaseDataAccessor;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestQuotaConstraintSkipWorkflowAssignment.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestQuotaConstraintSkipWorkflowAssignment.java
index 733bccb..210952d 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestQuotaConstraintSkipWorkflowAssignment.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestQuotaConstraintSkipWorkflowAssignment.java
@@ -3,7 +3,7 @@ package org.apache.helix.controller.stages;
 import java.util.Collections;
 import java.util.HashMap;
 import org.apache.helix.ConfigAccessor;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.task.TaskSchedulingStage;
 import org.apache.helix.integration.task.MockTask;
 import org.apache.helix.integration.task.TaskTestBase;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
index 89b23f5..4c12774 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
@@ -30,7 +30,7 @@ import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.TestHelper;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.ZkUnitTestBase;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.Pipeline;
 import 
org.apache.helix.controller.stages.resource.ResourceMessageDispatchStage;
 import 
org.apache.helix.controller.stages.resource.ResourceMessageGenerationPhase;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java
index 53f5dcb..115aaca 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRecoveryLoadBalance.java
@@ -30,7 +30,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.helix.api.config.StateTransitionThrottleConfig;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.model.ClusterConfig;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.Partition;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceComputationStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceComputationStage.java
index c7e7d0e..dceda6e 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceComputationStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceComputationStage.java
@@ -26,7 +26,7 @@ import java.util.UUID;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.pipeline.StageContext;
 import org.apache.helix.model.CurrentState;
 import org.apache.helix.model.IdealState;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceValidationStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceValidationStage.java
index 495dd66..1b22acc 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceValidationStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestResourceValidationStage.java
@@ -26,7 +26,7 @@ import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixProperty;
 import org.apache.helix.MockAccessor;
 import org.apache.helix.PropertyKey;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.model.ClusterConfig;
 import org.apache.helix.model.IdealState;
 import org.apache.helix.model.IdealState.IdealStateProperty;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPrirority.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPrirority.java
index 8175a41..e15ca93 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPrirority.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestStateTransitionPrirority.java
@@ -30,7 +30,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.helix.api.config.StateTransitionThrottleConfig;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.model.ClusterConfig;
 import org.apache.helix.model.IdealState;
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestTaskStage.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestTaskStage.java
index 3348379..0d98ed8 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestTaskStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestTaskStage.java
@@ -5,7 +5,7 @@ import org.apache.helix.PropertyKey;
 import org.apache.helix.TestHelper;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.common.caches.TaskDataCache;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.task.TaskPersistDataStage;
 import org.apache.helix.integration.task.TaskTestBase;
 import org.apache.helix.integration.task.TaskTestUtil;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/TestPersistAssignmentStage.java
 
b/helix-core/src/test/java/org/apache/helix/integration/TestPersistAssignmentStage.java
index 9732b23..a8218b1 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/TestPersistAssignmentStage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/TestPersistAssignmentStage.java
@@ -6,7 +6,7 @@ import java.util.Map;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.PropertyKey;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.stages.AttributeName;
 import org.apache.helix.controller.stages.BestPossibleStateOutput;
 import org.apache.helix.controller.stages.ClusterEvent;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerDataProviderSelectiveUpdate.java
 
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerDataProviderSelectiveUpdate.java
index 7ce0a51..57e0d6e 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerDataProviderSelectiveUpdate.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestControllerDataProviderSelectiveUpdate.java
@@ -23,7 +23,7 @@ import org.apache.helix.HelixConstants;
 import org.apache.helix.PropertyType;
 import org.apache.helix.TestHelper;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.integration.common.ZkStandAloneCMTestBase;
 import org.apache.helix.integration.task.WorkflowGenerator;
 import org.apache.helix.manager.zk.ZkBaseDataAccessor;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestRedundantDroppedMessage.java
 
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestRedundantDroppedMessage.java
index bc99971..ed2ad1b 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestRedundantDroppedMessage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestRedundantDroppedMessage.java
@@ -3,7 +3,7 @@ package org.apache.helix.integration.controller;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.stages.AttributeName;
 import org.apache.helix.controller.stages.BestPossibleStateCalcStage;
 import org.apache.helix.controller.stages.ClusterEvent;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
 
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
index 72dc10e..96bfe9b 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/controller/TestSkipBestPossibleCalculation.java
@@ -21,7 +21,7 @@ package org.apache.helix.integration.controller;
 
 import org.apache.helix.HelixConstants;
 import org.apache.helix.TestHelper;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.stages.AttributeName;
 import org.apache.helix.controller.stages.BestPossibleStateCalcStage;
 import org.apache.helix.controller.stages.ClusterEvent;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
 
b/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
index 918840a..a8ccc50 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/manager/TestHelixDataAccessor.java
@@ -11,7 +11,7 @@ import org.apache.helix.PropertyKey;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.api.exceptions.HelixMetaDataAccessException;
 import org.apache.helix.common.ZkTestBase;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.manager.zk.ZKHelixDataAccessor;
 import org.apache.helix.manager.zk.ZkBaseDataAccessor;
 import org.apache.helix.mock.MockZkClient;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
 
b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
index 3418de2..92dfa13 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PMessageSemiAuto.java
@@ -26,7 +26,7 @@ import java.util.Map;
 import org.apache.helix.ConfigAccessor;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.common.ZkTestBase;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.integration.DelayedTransitionBase;
 import org.apache.helix.integration.manager.ClusterControllerManager;
 import org.apache.helix.integration.manager.MockParticipantManager;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PNoDuplicatedMessage.java
 
b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PNoDuplicatedMessage.java
index 04c825e..aead515 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PNoDuplicatedMessage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/messaging/TestP2PNoDuplicatedMessage.java
@@ -31,7 +31,7 @@ import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixManager;
 import org.apache.helix.InstanceType;
 import org.apache.helix.common.ZkTestBase;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import 
org.apache.helix.controller.rebalancer.strategy.CrushEdRebalanceStrategy;
 import org.apache.helix.integration.DelayedTransitionBase;
 import org.apache.helix.integration.manager.ClusterControllerManager;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalance.java
 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalance.java
index b97a3c3..0042754 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalance.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalance.java
@@ -28,7 +28,7 @@ import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.TestHelper;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.integration.common.ZkStandAloneCMTestBase;
 import org.apache.helix.integration.manager.ClusterControllerManager;
 import org.apache.helix.integration.manager.MockParticipantManager;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalancePartitionLimit.java
 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalancePartitionLimit.java
index d4621ac..37ee655 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalancePartitionLimit.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestAutoRebalancePartitionLimit.java
@@ -26,7 +26,7 @@ import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixManager;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.integration.common.ZkStandAloneCMTestBase;
 import org.apache.helix.integration.manager.ClusterControllerManager;
 import org.apache.helix.integration.manager.MockParticipantManager;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestCustomizedIdealStateRebalancer.java
 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestCustomizedIdealStateRebalancer.java
index f3b9725..c6ebb46 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestCustomizedIdealStateRebalancer.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestCustomizedIdealStateRebalancer.java
@@ -27,7 +27,7 @@ import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixManager;
 import org.apache.helix.PropertyKey.Builder;
 import org.apache.helix.ZNRecord;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.rebalancer.Rebalancer;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.integration.common.ZkStandAloneCMTestBase;
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/task/TaskTestUtil.java 
b/helix-core/src/test/java/org/apache/helix/integration/task/TaskTestUtil.java
index 1c4b536..02a7628 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/task/TaskTestUtil.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/task/TaskTestUtil.java
@@ -25,10 +25,8 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import org.apache.helix.HelixDataAccessor;
 import org.apache.helix.HelixManager;
@@ -36,7 +34,7 @@ import org.apache.helix.PropertyKey;
 import org.apache.helix.TestHelper;
 import org.apache.helix.ZNRecord;
 import org.apache.helix.common.DedupEventProcessor;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.pipeline.AsyncWorkerType;
 import org.apache.helix.controller.pipeline.Stage;
 import org.apache.helix.controller.pipeline.StageContext;
diff --git 
a/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PMessagesAvoidDuplicatedMessage.java
 
b/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PMessagesAvoidDuplicatedMessage.java
index cf5e95a..3980b36 100644
--- 
a/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PMessagesAvoidDuplicatedMessage.java
+++ 
b/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PMessagesAvoidDuplicatedMessage.java
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executors;
 import org.apache.helix.HelixConstants;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.common.ResourcesStateMap;
 import org.apache.helix.controller.pipeline.Pipeline;
diff --git 
a/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PStateTransitionMessages.java
 
b/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PStateTransitionMessages.java
index 50232ce..44cb640 100644
--- 
a/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PStateTransitionMessages.java
+++ 
b/helix-core/src/test/java/org/apache/helix/messaging/p2pMessage/TestP2PStateTransitionMessages.java
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executors;
 import org.apache.helix.HelixConstants;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.pipeline.Pipeline;
 import org.apache.helix.controller.stages.AttributeName;
diff --git 
a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestRebalancerMetrics.java
 
b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestRebalancerMetrics.java
index 1677b6a..f3e1119 100644
--- 
a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestRebalancerMetrics.java
+++ 
b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestRebalancerMetrics.java
@@ -4,7 +4,7 @@ import java.util.Arrays;
 import java.util.Date;
 import java.util.Map;
 import org.apache.helix.api.config.StateTransitionThrottleConfig;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.common.PartitionStateMap;
 import org.apache.helix.controller.stages.AttributeName;
 import org.apache.helix.controller.stages.BaseStageTest;
diff --git 
a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java
 
b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java
index 108c172..811de1a 100644
--- 
a/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java
+++ 
b/helix-core/src/test/java/org/apache/helix/monitoring/mbeans/TestTopStateHandoffMetrics.java
@@ -27,7 +27,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.helix.HelixConstants;
-import org.apache.helix.controller.ResourceControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.ResourceControllerDataProvider;
 import org.apache.helix.controller.stages.AttributeName;
 import org.apache.helix.controller.stages.BaseStageTest;
 import org.apache.helix.controller.stages.CurrentStateComputationStage;
diff --git 
a/helix-core/src/test/java/org/apache/helix/task/TestCleanExpiredJobs.java 
b/helix-core/src/test/java/org/apache/helix/task/TestCleanExpiredJobs.java
index 867036f..86f4467 100644
--- a/helix-core/src/test/java/org/apache/helix/task/TestCleanExpiredJobs.java
+++ b/helix-core/src/test/java/org/apache/helix/task/TestCleanExpiredJobs.java
@@ -23,7 +23,7 @@ import java.util.HashSet;
 import java.util.Set;
 import org.apache.helix.HelixException;
 import org.apache.helix.TestHelper;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.integration.task.MockTask;
 import org.apache.helix.integration.task.TaskTestUtil;
 import org.apache.helix.integration.task.WorkflowGenerator;
diff --git 
a/helix-core/src/test/java/org/apache/helix/task/TestJobStateOnCreation.java 
b/helix-core/src/test/java/org/apache/helix/task/TestJobStateOnCreation.java
index 0a2c686..c277afc 100644
--- a/helix-core/src/test/java/org/apache/helix/task/TestJobStateOnCreation.java
+++ b/helix-core/src/test/java/org/apache/helix/task/TestJobStateOnCreation.java
@@ -21,7 +21,7 @@ package org.apache.helix.task;
 
 import com.google.common.collect.Sets;
 import java.util.Map;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.controller.stages.CurrentStateOutput;
 import org.apache.helix.integration.manager.MockParticipantManager;
 import org.apache.helix.integration.task.MockTask;
diff --git 
a/helix-core/src/test/java/org/apache/helix/task/TestScheduleDelayJobs.java 
b/helix-core/src/test/java/org/apache/helix/task/TestScheduleDelayJobs.java
index fa489b0..e6251de 100644
--- a/helix-core/src/test/java/org/apache/helix/task/TestScheduleDelayJobs.java
+++ b/helix-core/src/test/java/org/apache/helix/task/TestScheduleDelayJobs.java
@@ -20,7 +20,7 @@ package org.apache.helix.task;
  */
 
 import org.apache.helix.TestHelper;
-import org.apache.helix.controller.WorkflowControllerDataProvider;
+import 
org.apache.helix.controller.dataproviders.WorkflowControllerDataProvider;
 import org.apache.helix.integration.task.MockTask;
 import org.apache.helix.integration.task.TaskTestUtil;
 import org.apache.helix.integration.task.WorkflowGenerator;

Reply via email to