Affects Version/s: None
Fix Version/s: None
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
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