[ 
https://issues.apache.org/jira/browse/MAPREDUCE-824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

rahul k singh updated MAPREDUCE-824:
------------------------------------

    Attachment: HADOOP-824-1.patch

Uploaded the patch:
Patch implements the model discussed above. This is first cut of the 
implementation.

Some Class level details:
======================
The hierarchial queue follows composite pattern.

Component
----------------
AbstractQueue :
------------------------
- This is abstraction for all the queues.
- implements default behavior for some of the abstraction.
- declares interfaces to access the children and its components.
- defines an interface for accessing a queue's parent in the recursive 
structure.

Composite
-----------------
ContainerQueue:

- This provides functionality mentioned as the part of Sub-Queues.
- consists of composition of AbstractQueue.
- provides functionality to manipulate children
- delegates respective children component calls.

Leaf
----------
JobQueue:

- This provides functionality similar to Leaf Queue mentioned in the document 
above.
- Jobs would be submitted only to this queue.
- Consists of list of jobs and acts on the JobInProgressListener events.


JobQueuesManager no more maintains list of runningJob and waitingJobs , they 
are maintained by JobQueue. It simply delegates
the call to JobQueue.


AbstractQueue have QueueSchedulingContext ,defined , it consists of all the 
queue related information required for scheduling decision.

Some refactoring has been done in terms of moving out some of the inner classes 
from CapacityTaskScheduler , esp the QueueSchedulingInfo and TaskSchedulingInfo.


I ll be uploading patch with testcases.

> Support a hierarchy of queues in the capacity scheduler
> -------------------------------------------------------
>
>                 Key: MAPREDUCE-824
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-824
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: contrib/capacity-sched
>            Reporter: Hemanth Yamijala
>         Attachments: HADOOP-824-1.patch
>
>
> Currently in Capacity Scheduler, cluster capacity is divided among the queues 
> based on the queue capacity. These queues typically represent an organization 
> and the capacity of the queue represents the capacity the organization is 
> entitled to. Most organizations are large and need to divide their capacity 
> among sub-organizations they have. Or they may want to divide the capacity 
> based on a category or type of jobs they run. This JIRA covers the 
> requirements and other details to provide the above feature.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to