Uploaded image for project: 'Apache Helix'
  1. Apache Helix
  2. HELIX-729

[TASK] Modify APIs and TaskDataCache so that it has AssignableInstanceManager

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      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

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              narendly Hunter L
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: