protected internal override IList <Queue> GetChildReservationQueues(Queue queue) { FSQueue planQueue = (FSQueue)queue; IList <FSQueue> childQueues = planQueue.GetChildQueues(); return(childQueues); }
public FairSchedulerQueueInfo(FSQueue queue, FairScheduler scheduler) { AllocationConfiguration allocConf = scheduler.GetAllocationConfiguration(); queueName = queue.GetName(); schedulingPolicy = queue.GetPolicy().GetName(); clusterResources = new ResourceInfo(scheduler.GetClusterResource()); usedResources = new ResourceInfo(queue.GetResourceUsage()); fractionMemUsed = (float)usedResources.GetMemory() / clusterResources.GetMemory(); steadyFairResources = new ResourceInfo(queue.GetSteadyFairShare()); fairResources = new ResourceInfo(queue.GetFairShare()); minResources = new ResourceInfo(queue.GetMinShare()); maxResources = new ResourceInfo(queue.GetMaxShare()); maxResources = new ResourceInfo(Resources.ComponentwiseMin(queue.GetMaxShare(), scheduler .GetClusterResource())); fractionMemSteadyFairShare = (float)steadyFairResources.GetMemory() / clusterResources .GetMemory(); fractionMemFairShare = (float)fairResources.GetMemory() / clusterResources.GetMemory (); fractionMemMinShare = (float)minResources.GetMemory() / clusterResources.GetMemory (); fractionMemMaxShare = (float)maxResources.GetMemory() / clusterResources.GetMemory (); maxApps = allocConf.GetQueueMaxApps(queueName); childQueues = new AList <Org.Apache.Hadoop.Yarn.Server.Resourcemanager.Webapp.Dao.FairSchedulerQueueInfo >(); if (allocConf.IsReservable(queueName) && !allocConf.GetShowReservationAsQueues(queueName )) { return; } ICollection <FSQueue> children = queue.GetChildQueues(); foreach (FSQueue child in children) { if (child is FSLeafQueue) { childQueues.AddItem(new FairSchedulerLeafQueueInfo((FSLeafQueue)child, scheduler) ); } else { childQueues.AddItem(new Org.Apache.Hadoop.Yarn.Server.Resourcemanager.Webapp.Dao.FairSchedulerQueueInfo (child, scheduler)); } } }