1 /**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18 
19 package org.apache.hadoop.yarn.server.resourcemanager.scheduler;
20 
21 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
22 import org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.RMContainer;
23 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.SchedulerEvent;
24 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.event.SchedulerEventType;
25 
26 /**
27  * Simple event class used to communicate containers unreservations, preemption, killing
28  */
29 public class ContainerPreemptEvent extends SchedulerEvent {
30 
31   private final ApplicationAttemptId aid;
32   private final RMContainer container;
33 
ContainerPreemptEvent(ApplicationAttemptId aid, RMContainer container, SchedulerEventType type)34   public ContainerPreemptEvent(ApplicationAttemptId aid, RMContainer container,
35       SchedulerEventType type) {
36     super(type);
37     this.aid = aid;
38     this.container = container;
39   }
40 
getContainer()41   public RMContainer getContainer(){
42     return this.container;
43   }
44 
getAppId()45   public ApplicationAttemptId getAppId() {
46     return aid;
47   }
48 
49   @Override
toString()50   public String toString() {
51     StringBuilder sb = new StringBuilder(super.toString());
52     sb.append(" ").append(getAppId());
53     sb.append(" ").append(getContainer().getContainerId());
54     return sb.toString();
55   }
56 
57 }
58