This project has retired. For details please refer to its Attic page.
Source code
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,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied.  See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019package org.apache.reef.driver;
020
021import org.apache.reef.annotations.Provided;
022import org.apache.reef.annotations.Unstable;
023import org.apache.reef.annotations.audience.DriverSide;
024import org.apache.reef.annotations.audience.Public;
025
026/**
027 * Represents Preemption requests issued by the underlying resource manager.
028 * <p>
029 * REEF exposes two kinds of preemption requests: Strict ones merely inform the Driver about machines that are about to
030 * be preempted. Flexible ones provide that list, but also expose the resource request that the underlying resource
031 * manager wants to satisfy, thereby giving the Driver a chance to satisfy it in another way.
032 * <p>
033 * NOTE: This currently not implemented. Consider it a preview of the API.
034 */
035@DriverSide
036@Public
037@Provided
038@Unstable
039public interface PreemptionEvent {
040
041  /**
042   * @return the Set of RunningEvaluators that the underlying resource manager is about to take away from the Driver.
043   */
044  // TODO[JIRA REEF-836]: We need to have a set of things to present to the user as preempted.
045  // Probably a Set<String> with the Evaluator IDs.
046  // public Set<RunningEvaluator> getToBePreemptedEvaluators();
047
048}