コード例 #1
0
        internal CapacitySchedulerQueueInfo(CSQueue q)
        {
            queuePath    = q.GetQueuePath();
            capacity     = q.GetCapacity() * 100;
            usedCapacity = q.GetUsedCapacity() * 100;
            maxCapacity  = q.GetMaximumCapacity();
            if (maxCapacity < Epsilon || maxCapacity > 1f)
            {
                maxCapacity = 1f;
            }
            maxCapacity         *= 100;
            absoluteCapacity     = Cap(q.GetAbsoluteCapacity(), 0f, 1f) * 100;
            absoluteMaxCapacity  = Cap(q.GetAbsoluteMaximumCapacity(), 0f, 1f) * 100;
            absoluteUsedCapacity = Cap(q.GetAbsoluteUsedCapacity(), 0f, 1f) * 100;
            numApplications      = q.GetNumApplications();
            queueName            = q.GetQueueName();
            state         = q.GetState();
            resourcesUsed = new ResourceInfo(q.GetUsedResources());
            if (q is PlanQueue && !((PlanQueue)q).ShowReservationsAsQueues())
            {
                hideReservationQueues = true;
            }
            // add labels
            ICollection <string> labelSet = q.GetAccessibleNodeLabels();

            if (labelSet != null)
            {
                Sharpen.Collections.AddAll(nodeLabels, labelSet);
                nodeLabels.Sort();
            }
        }
コード例 #2
0
        public CapacitySchedulerInfo(CSQueue parent)
        {
            // JAXB needs this
            this.queueName    = parent.GetQueueName();
            this.usedCapacity = parent.GetUsedCapacity() * 100;
            this.capacity     = parent.GetCapacity() * 100;
            float max = parent.GetMaximumCapacity();

            if (max < Epsilon || max > 1f)
            {
                max = 1f;
            }
            this.maxCapacity = max * 100;
            queues           = GetQueues(parent);
        }
コード例 #3
0
ファイル: PlanQueue.cs プロジェクト: orf53975/hadoop.net
 /// <exception cref="Org.Apache.Hadoop.Yarn.Server.Resourcemanager.Scheduler.SchedulerDynamicEditException
 ///     "/>
 internal virtual void RemoveChildQueue(CSQueue remQueue)
 {
     lock (this)
     {
         if (remQueue.GetCapacity() > 0)
         {
             throw new SchedulerDynamicEditException("Queue " + remQueue + " being removed has non zero capacity."
                                                     );
         }
         IEnumerator <CSQueue> qiter = childQueues.GetEnumerator();
         while (qiter.HasNext())
         {
             CSQueue cs = qiter.Next();
             if (cs.Equals(remQueue))
             {
                 qiter.Remove();
                 if (Log.IsDebugEnabled())
                 {
                     Log.Debug("Removed child queue: {}", cs.GetQueueName());
                 }
             }
         }
     }
 }