GitHub user narendly opened a pull request:
https://github.com/apache/helix/pull/238
[TASK] Modify APIs and TaskDataCache so that it has
AssignableInstanceManager
â¦stanceManager
For scheduling based on quota type support, integration with the currently
existing pipeline requires access of the most recent AssignableInstanceManager
at the cluster cache level. AssignableInstanceManager was added to
TaskDataCache and an API was added for easy access.
TaskConfig's getQuotaType() API was removed. That means that all components
that rely on that API must have the quota type supplied as a parameter as well.
Modified APIs for AssignableInstance such that quotaType is an explicit
argument
Changelist:
1. AssignableInstanceManager was added to TaskDataCache and an API was
added for easy access
2. TaskAssigner has another API that explicitly has quota type as a
parameter
3. ThreadCountBasedTaskAssigner implements the new interface API
4. AssignableInstance's APIs for assigning and releasing tasks now
explicitly require quotaType as a parameter
5. TaskAssignResult also stores quotaType
6. Tests modified so that quotaType is supplied to assign and release calls
7. A setter for quota type was removed to comply with the definition that
quota types only exist down to the job level for TaskConfig
8. Updated JavaDoc
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/narendly/helix 1331228
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/helix/pull/238.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #238
----
commit 946050336f83eddd9e04f46f83de8e9cd696680b
Author: Hunter Lee <narendly@...>
Date: 2018-07-12T18:43:45Z
[HELIX-729] Modify APIs and TaskDataCache so that it has
AssignableInstanceManager
For scheduling based on quota type support, integration with the currently
existing pipeline requires access of the most recent AssignableInstanceManager
at the cluster cache level. AssignableInstanceManager was added to
TaskDataCache and an API was added for easy access.
TaskConfig's getQuotaType() API was removed. That means that all components
that rely on that API must have the quota type supplied as a parameter as well.
Modified APIs for AssignableInstance such that quotaType is an explicit
argument
Changelist:
1. AssignableInstanceManager was added to TaskDataCache and an API was
added for easy access
2. TaskAssigner has another API that explicitly has quota type as a
parameter
3. ThreadCountBasedTaskAssigner implements the new interface API
4. AssignableInstance's APIs for assigning and releasing tasks now
explicitly require quotaType as a parameter
5. TaskAssignResult also stores quotaType
6. Tests modified so that quotaType is supplied to assign and release calls
7. A setter for quota type was removed to comply with the definition that
quota types only exist down to the job level for TaskConfig
8. Updated JavaDoc
----
---