Class ReservationDefinition
java.lang.Object
org.apache.hadoop.yarn.api.records.ReservationDefinition
ReservationDefinition captures the set of resource and time
constraints the user cares about regarding a reservation.- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract longGet the arrival time or the earliest time from which the resource(s) can be allocated.abstract longGet the deadline or the latest time by when the resource(s) must be allocated.abstract PriorityGet the priority for this reservation.abstract StringGet the recurrence of this reservation representing the time period of the periodic job.abstract StringGet the name for this reservation.abstract ReservationRequestsGet the list ofReservationRequestsrepresenting the resources required by the applicationstatic ReservationDefinitionnewInstance(long arrival, long deadline, ReservationRequests reservationRequests, String name) static ReservationDefinitionnewInstance(long arrival, long deadline, ReservationRequests reservationRequests, String name, String recurrenceExpression, Priority priority) abstract voidsetArrival(long earliestStartTime) Set the arrival time or the earliest time from which the resource(s) can be allocated.abstract voidsetDeadline(long latestEndTime) Set the deadline or the latest time by when the resource(s) must be allocated.abstract voidsetPriority(Priority priority) Set the priority for this reservation.abstract voidsetRecurrenceExpression(String recurrenceExpression) Set the recurrence of this reservation representing the time period of the periodic job.abstract voidsetReservationName(String name) Set the name for this reservation.abstract voidsetReservationRequests(ReservationRequests reservationRequests) Set the list ofReservationRequestsrepresenting the resources required by the application
-
Constructor Details
-
ReservationDefinition
public ReservationDefinition()
-
-
Method Details
-
newInstance
@Public @Unstable public static ReservationDefinition newInstance(long arrival, long deadline, ReservationRequests reservationRequests, String name, String recurrenceExpression, Priority priority) -
newInstance
@Public @Unstable public static ReservationDefinition newInstance(long arrival, long deadline, ReservationRequests reservationRequests, String name) -
getArrival
@Public @Unstable public abstract long getArrival()Get the arrival time or the earliest time from which the resource(s) can be allocated. Time expressed as UTC.- Returns:
- the earliest valid time for this reservation
-
setArrival
@Public @Unstable public abstract void setArrival(long earliestStartTime) Set the arrival time or the earliest time from which the resource(s) can be allocated. Time expressed as UTC.- Parameters:
earliestStartTime- the earliest valid time for this reservation
-
getDeadline
@Public @Unstable public abstract long getDeadline()Get the deadline or the latest time by when the resource(s) must be allocated. Time expressed as UTC.- Returns:
- the deadline or the latest time by when the resource(s) must be allocated
-
setDeadline
@Public @Unstable public abstract void setDeadline(long latestEndTime) Set the deadline or the latest time by when the resource(s) must be allocated. Time expressed as UTC.- Parameters:
latestEndTime- the deadline or the latest time by when the resource(s) should be allocated
-
getReservationRequests
Get the list ofReservationRequestsrepresenting the resources required by the application- Returns:
- the list of
ReservationRequests
-
setReservationRequests
@Public @Unstable public abstract void setReservationRequests(ReservationRequests reservationRequests) Set the list ofReservationRequestsrepresenting the resources required by the application- Parameters:
reservationRequests- the list ofReservationRequests
-
getReservationName
Get the name for this reservation. The name need-not be unique, and it is just a mnemonic for the user (akin to job names). Accepted reservations are uniquely identified by a system-generated ReservationId.- Returns:
- string representing the name of the corresponding reserved resource allocation in the scheduler
-
setReservationName
Set the name for this reservation. The name need-not be unique, and it is just a mnemonic for the user (akin to job names). Accepted reservations are uniquely identified by a system-generated ReservationId.- Parameters:
name- representing the name of the corresponding reserved resource allocation in the scheduler
-
getRecurrenceExpression
Get the recurrence of this reservation representing the time period of the periodic job. Currently, only long values are supported. Later, support for regular expressions denoting arbitrary recurrence patterns (e.g., every Tuesday and Thursday) will be added. Recurrence is represented in milliseconds for periodic jobs. Recurrence is 0 for non-periodic jobs. Periodic jobs are valid until they are explicitly cancelled and have higher priority than non-periodic jobs (during initial placement and replanning). Periodic job allocations are consistent across runs (flexibility in allocation is leveraged only during initial placement, allocations remain consistent thereafter). Note that as a long, the recurrence expression must be greater than the duration of the reservation (deadline - arrival). Also note that the configured max period must be divisible by the recurrence expression if expressed as a long.- Returns:
- recurrence of this reservation
-
setRecurrenceExpression
Set the recurrence of this reservation representing the time period of the periodic job. Currently, only long values are supported. Later, support for regular expressions denoting arbitrary recurrence patterns (e.g., every Tuesday and Thursday) will be added. Recurrence is represented in milliseconds for periodic jobs. Recurrence is 0 for non-periodic jobs. Periodic jobs are valid until they are explicitly cancelled and have higher priority than non-periodic jobs (during initial placement and replanning). Periodic job allocations are consistent across runs (flexibility in allocation is leveraged only during initial placement, allocations remain consistent thereafter). Note that as a long, the recurrence expression must be greater than the duration of the reservation (deadline - arrival). Also note that the configured max period must be divisible by the recurrence expression if expressed as a long.- Parameters:
recurrenceExpression- recurrence interval of this reservation
-
getPriority
Get the priority for this reservation. A lower number for priority indicates a higher priority reservation. Recurring reservations are always higher priority than non-recurring reservations. Priority for non-recurring reservations are only compared with non-recurring reservations. Likewise for recurring reservations.- Returns:
- int representing the priority of the reserved resource allocation in the scheduler
-
setPriority
Set the priority for this reservation. A lower number for priority indicates a higher priority reservation. Recurring reservations are always higher priority than non-recurring reservations. Priority for non-recurring reservations are only compared with non-recurring reservations. Likewise for recurring reservations.- Parameters:
priority- representing the priority of the reserved resource allocation in the scheduler
-