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

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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • 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

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

            Dates

              Created:
              Updated: