001/**
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018
019package org.apache.hadoop.yarn.api.records;
020
021import org.apache.hadoop.classification.InterfaceAudience.Public;
022import org.apache.hadoop.classification.InterfaceStability.Unstable;
023import org.apache.hadoop.yarn.api.ApplicationMasterProtocol;
024import org.apache.hadoop.yarn.api.protocolrecords.AllocateResponse;
025import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest;
026import org.apache.hadoop.yarn.exceptions.ApplicationAttemptNotFoundException;
027import org.apache.hadoop.yarn.exceptions.ApplicationMasterNotRegisteredException;
028
029/**
030 * Command sent by the Resource Manager to the Application Master in the 
031 * AllocateResponse 
032 * @see AllocateResponse
033 */
034@Public
035@Unstable
036public enum AMCommand {
037
038  /**
039   * @deprecated Sent by Resource Manager when it is out of sync with the AM and
040   *             wants the AM get back in sync.
041   * 
042   *             Note: Instead of sending this command,
043   *             {@link ApplicationMasterNotRegisteredException} will be thrown
044   *             when ApplicationMaster is out of sync with ResourceManager and
045   *             ApplicationMaster is expected to re-register with RM by calling
046   *             {@link ApplicationMasterProtocol#registerApplicationMaster(RegisterApplicationMasterRequest)}
047   */
048  AM_RESYNC,
049
050  /**
051   * @deprecated Sent by Resource Manager when it wants the AM to shutdown.
052   *             Note: This command was earlier sent by ResourceManager to
053   *             instruct AM to shutdown if RM had restarted. Now
054   *             {@link ApplicationAttemptNotFoundException} will be thrown in case
055   *             that RM has restarted and AM is supposed to handle this
056   *             exception by shutting down itself.
057   */
058  AM_SHUTDOWN
059}