-
Notifications
You must be signed in to change notification settings - Fork 227
Task Framework IdealState Dependency Removal Progression
Neal Sun edited this page Sep 16, 2020
·
2 revisions
This document outlines the progression of removing IdealState dependency from Task Framework. The process is segmented to different phases in order to maintain backward compatibility and ensure that every work item is of a reasonable size. This document will also be updated as more progress is made.
Merged: https://github.com/apache/helix/pull/1326
- In ResourceComputationStage, Resources are computed based on WorkflowConfigs and JobConfigs. This section of new code is placed after IdealState reading to overwrite the IdealState result; this allows the controller to function correctly without client side update;
- In TaskSchedulingStage, the legacy pipeline logic is removed. The legacy pipeline was for the workflows that rely purely on IdealStates and not WorkflowConfigs; with the new change, this is strictly contradicting with how Workflows should be created, and therefore this legacy logic is no longer supported;
- In TaskDriver, logics that create IdealStates for workflows are removed;
- In TaskUtil, logics that remove IdealStates are marked as deprecated. This is for backward compatibility reasons - leaving them ensures that any customer created IdealStates are cleaned up properly. These logics will be removed later.
Planned.
- With code changes in relevant stages, it is possible to remove RESOURCES_TO_REBALANCE attribute. This is made possible because Task Framework no longer relies on IdealState and resource filtering is no longer necessary - meaning the code doesn't have to separate resource into RESOURCES map and RESOURCES_TO_REBALANCE map. This may also mean that in ResourceComputationStage, we no longer need to compute Resources based on TaskConfigs, as Resources wouldn't be used in the task pipeline.
Pull Request Description Template
ZooKeeper API module for Apache Helix
DataAccessor for Assignment Metadata
Concurrency and Parallelism for BucketDataAccessor
WAGED Rebalance Pipeline Redesign
WAGED rebalancer Hard Constraint Scope Expansion
IdealState Dependency Removal Progression Remove requested state in Task Framework