All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.hadoop.yarn.api.records.QueueInfo Maven / Gradle / Ivy

There is a newer version: 3.4.0
Show newest version
/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.hadoop.yarn.api.records;

import java.util.List;
import java.util.Map;
import java.util.Set;

import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.api.ApplicationClientProtocol;
import org.apache.hadoop.yarn.util.Records;

/**
 * QueueInfo is a report of the runtime information of the queue.
 * 

* It includes information such as: *

    *
  • Queue name.
  • *
  • Capacity of the queue.
  • *
  • Maximum capacity of the queue.
  • *
  • Current capacity of the queue.
  • *
  • Child queues.
  • *
  • Running applications.
  • *
  • {@link QueueState} of the queue.
  • *
  • {@link QueueConfigurations} of the queue.
  • *
* * @see QueueState * @see QueueConfigurations * @see ApplicationClientProtocol#getQueueInfo(org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoRequest) */ @Public @Stable public abstract class QueueInfo { @Private @Unstable public static QueueInfo newInstance(String queueName, float capacity, float maximumCapacity, float currentCapacity, List childQueues, List applications, QueueState queueState, Set accessibleNodeLabels, String defaultNodeLabelExpression, QueueStatistics queueStatistics, boolean preemptionDisabled) { QueueInfo queueInfo = Records.newRecord(QueueInfo.class); queueInfo.setQueueName(queueName); queueInfo.setCapacity(capacity); queueInfo.setMaximumCapacity(maximumCapacity); queueInfo.setCurrentCapacity(currentCapacity); queueInfo.setChildQueues(childQueues); queueInfo.setApplications(applications); queueInfo.setQueueState(queueState); queueInfo.setAccessibleNodeLabels(accessibleNodeLabels); queueInfo.setDefaultNodeLabelExpression(defaultNodeLabelExpression); queueInfo.setQueueStatistics(queueStatistics); queueInfo.setPreemptionDisabled(preemptionDisabled); return queueInfo; } @Private @Unstable public static QueueInfo newInstance(String queueName, float capacity, float maximumCapacity, float currentCapacity, List childQueues, List applications, QueueState queueState, Set accessibleNodeLabels, String defaultNodeLabelExpression, QueueStatistics queueStatistics, boolean preemptionDisabled, Map queueConfigurations) { QueueInfo queueInfo = QueueInfo.newInstance(queueName, capacity, maximumCapacity, currentCapacity, childQueues, applications, queueState, accessibleNodeLabels, defaultNodeLabelExpression, queueStatistics, preemptionDisabled); queueInfo.setQueueConfigurations(queueConfigurations); return queueInfo; } @Private @Unstable public static QueueInfo newInstance(String queueName, float capacity, float maximumCapacity, float currentCapacity, List childQueues, List applications, QueueState queueState, Set accessibleNodeLabels, String defaultNodeLabelExpression, QueueStatistics queueStatistics, boolean preemptionDisabled, Map queueConfigurations, boolean intraQueuePreemptionDisabled) { QueueInfo queueInfo = QueueInfo.newInstance(queueName, capacity, maximumCapacity, currentCapacity, childQueues, applications, queueState, accessibleNodeLabels, defaultNodeLabelExpression, queueStatistics, preemptionDisabled, queueConfigurations); queueInfo.setIntraQueuePreemptionDisabled(intraQueuePreemptionDisabled); return queueInfo; } /** * Get the name of the queue. * @return name of the queue */ @Public @Stable public abstract String getQueueName(); @Private @Unstable public abstract void setQueueName(String queueName); /** * Get the configured capacity of the queue. * @return configured capacity of the queue */ @Public @Stable public abstract float getCapacity(); @Private @Unstable public abstract void setCapacity(float capacity); /** * Get the maximum capacity of the queue. * @return maximum capacity of the queue */ @Public @Stable public abstract float getMaximumCapacity(); @Private @Unstable public abstract void setMaximumCapacity(float maximumCapacity); /** * Get the current capacity of the queue. * @return current capacity of the queue */ @Public @Stable public abstract float getCurrentCapacity(); @Private @Unstable public abstract void setCurrentCapacity(float currentCapacity); /** * Get the child queues of the queue. * @return child queues of the queue */ @Public @Stable public abstract List getChildQueues(); @Private @Unstable public abstract void setChildQueues(List childQueues); /** * Get the running applications of the queue. * @return running applications of the queue */ @Public @Stable public abstract List getApplications(); @Private @Unstable public abstract void setApplications(List applications); /** * Get the QueueState of the queue. * @return QueueState of the queue */ @Public @Stable public abstract QueueState getQueueState(); @Private @Unstable public abstract void setQueueState(QueueState queueState); /** * Get the accessible node labels of the queue. * @return accessible node labels of the queue */ @Public @Stable public abstract Set getAccessibleNodeLabels(); /** * Set the accessible node labels of the queue. */ @Private @Unstable public abstract void setAccessibleNodeLabels(Set labels); /** * Get the default node label expression of the queue, this takes * affect only when the ApplicationSubmissionContext and * ResourceRequest don't specify their * NodeLabelExpression. * * @return default node label expression of the queue */ @Public @Stable public abstract String getDefaultNodeLabelExpression(); @Public @Stable public abstract void setDefaultNodeLabelExpression( String defaultLabelExpression); /** * Get the queue stats for the queue * * @return queue stats of the queue */ @Public @Unstable public abstract QueueStatistics getQueueStatistics(); /** * Set the queue statistics for the queue * * @param queueStatistics * the queue statistics */ @Public @Unstable public abstract void setQueueStatistics(QueueStatistics queueStatistics); /** * Get the preemption status of the queue. * @return if property is not in proto, return null; * otherwise, return preemption status of the queue */ @Public @Stable public abstract Boolean getPreemptionDisabled(); @Private @Unstable public abstract void setPreemptionDisabled(boolean preemptionDisabled); /** * Get the per-node-label queue configurations of the queue. * * @return the per-node-label queue configurations of the queue. */ @Public @Stable public abstract Map getQueueConfigurations(); /** * Set the per-node-label queue configurations for the queue. * * @param queueConfigurations * the queue configurations */ @Private @Unstable public abstract void setQueueConfigurations( Map queueConfigurations); /** * Get the intra-queue preemption status of the queue. * @return if property is not in proto, return null; * otherwise, return intra-queue preemption status of the queue */ @Public @Stable public abstract Boolean getIntraQueuePreemptionDisabled(); @Private @Unstable public abstract void setIntraQueuePreemptionDisabled( boolean intraQueuePreemptionDisabled); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy